我正在检查文件是否存在。使用1秒的intervall来检查。 我想要的是:如果在10秒后找不到文件,则发出警报。 我试图在intervall中设置timeout,但没有成功。 任何提普都会很棒,提前谢谢。
var isLoading=new Boolean();
isLoading=false;
setInterval(
function(){
$.ajax({
url: ajaxRequestUrl,
type: "GET",
cache: false,
statusCode: {
// HTTP-Code "Page not found"
404: function() {
if (isLoading===false){
do_this();
}
},
// HTTP-Code "Success"
200: function() {
if (isLoading===true){
do_that();
}
}
}
});
},
1000);
答案 0 :(得分:1)
我建议使用以下代码:
var isLoading=new Boolean();
isLoading=false;
var isFileFound=false;
$.ajax({
url: ajaxRequestUrl,
type: "GET",
cache: false,
statusCode: {
// HTTP-Code "Page not found"
404: function() {
if (isLoading===false){
do_this();
}
},
// HTTP-Code "Success"
200: function() {
isFileFound=true;
if (isLoading===true){
do_that();
}
}
}
});
setTimeout(function(){
alert(isFileFound);
},10000);
答案 1 :(得分:0)
您需要的是在一秒钟后检查的变量。
var isLoading=new Boolean();
isLoading=false;
var tick = 0;
var getFile = setInterval(function(){
if(tick == 0) {
$.ajax({
url: ajaxRequestUrl,
type: "GET",
cache: false,
statusCode: {
// HTTP-Code "Page not found"
404: function() {
if (isLoading===false){
do_this();
}
},
// HTTP-Code "Success"
200: function() {
if (isLoading===true){
do_that();
}
}
}
});
}
else if(tick == 10) {
clearInterval(getFile);
alert("File not found");
tick = 0;
}
else {
tick++;
}
}, 1000);
在区间中我检查tick是否等于0(不是多次发出相同的请求),如果是,我做请求,否则等待。 10秒后显示警告,然后设置勾选为0.在示例中,我还清除了不继续迭代的间隔。通过这种方式,您可以请求新文件。