我有下面的代码,从url中读取。我希望创建一个while循环,它每秒钟连续运行一次,直到数据不等于null为止。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
$.getJSON("https://bnb.firebaseio.com/airbunny/listing_rank_data/16861909NULL.json", function(data) {
console.log(data)
});以下是我的尝试:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
$.getJSON("https://bnb.firebaseio.com/airbunny/listing_rank_data/16861909NULL.json", function(data) {
while (data=='null') {
setTimeout(function (){
}, 5000);
}
console.log(data)
});发布于 2017-02-26 10:55:26
不需要在这里循环。您可以使用setTimeout创建一个可以延迟执行的函数。
function getData(){
$.getJSON("https://bnb.firebaseio.com/airbunny/listing_rank_data/16861909NULL.json", function(data) {
if(data == null){
setTimeout(getData, f000);
} else {
console.log(data);
}
});
}
//Initial Invocation
getData();发布于 2017-02-26 10:56:26
您可以尝试setTimeout方法:
function poll() {
$.getJSON("https://bnb.firebaseio.com/airbunny/listing_rank_data/16861909NULL.json", function(data) {
if (data === "null") {
// The data is null, send a new request in 5 seconds
window.setTimeout(poll, 5000);
} else {
// The data is no longer null, we don't need to continue polling
console.log(data);
}
});
}https://stackoverflow.com/questions/42467560
复制相似问题