Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将回调添加到$(xml).find(";).each_Javascript_Jquery - Fatal编程技术网

Javascript 将回调添加到$(xml).find(";).each

Javascript 将回调添加到$(xml).find(";).each,javascript,jquery,Javascript,Jquery,是否可以将回调添加到此循环?作为让应用程序知道“现在是时候这么做了…”的一种方式 即使是异步操作,为什么不在完成后调用函数呢 function done(){ // completed... } var total = $(xml).find("book").length; $(xml).find("book").each(function(index, element){ var id = $(this).find("id").text(); var x = $(th

是否可以将回调添加到此循环?作为让应用程序知道“现在是时候这么做了…”的一种方式


即使是异步操作,为什么不在完成后调用函数呢

function done(){
    // completed...
}
var total = $(xml).find("book").length;
$(xml).find("book").each(function(index, element){
    var id = $(this).find("id").text(); 
    var x = $(this).find("x").text();   
    var y = $(this).find("y").text();   
    var z = $(this).find("z").text();  
    hasItem(id, x, y, z, function(flag, id, x, y, z) {
        if(!flag) {
            //doing something
            if(total == index+1)
               done();
        }
    });
}); 

即使是异步操作,为什么不在完成后调用函数呢

function done(){
    // completed...
}
var total = $(xml).find("book").length;
$(xml).find("book").each(function(index, element){
    var id = $(this).find("id").text(); 
    var x = $(this).find("x").text();   
    var y = $(this).find("y").text();   
    var z = $(this).find("z").text();  
    hasItem(id, x, y, z, function(flag, id, x, y, z) {
        if(!flag) {
            //doing something
            if(total == index+1)
               done();
        }
    });
}); 

只需调用函数。为什么不呢?不,没有。这是一个同步操作,因此$each不需要回调。但是,如果
//做某事
做了一个异步操作,比如ajax,那么您需要使用延迟对象来跟踪它们何时全部完成。是的。。。回调主要用于异步功能。。。您希望在后台继续处理时释放程序以避免阻塞的区域。但是,在这种情况下,我看不到任何可以异步的东西。只需调用函数即可。为什么不呢?不,没有。这是一个同步操作,因此$each不需要回调。但是,如果
//做某事
做了一个异步操作,比如ajax,那么您需要使用延迟对象来跟踪它们何时全部完成。是的。。。回调主要用于异步功能。。。您希望在后台继续处理时释放程序以避免阻塞的区域。但是,在这种情况下,我看不到任何可以异步的东西。我认为这是最好的方法。但是我建议在执行每个循环之前声明done函数,我认为这是最好的方法。但是我建议在执行each循环之前声明done函数。