javascript - 将回调添加到 $(xml).find ("..").each

标签 javascript jquery

是否可以向此循环添加回调?作为一种让应用程序知道“现在是时候执行此操作了..”的一种方式..?

$(xml).find("book").each(function(){
    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
        }
    });
}); 

//add callback to tell me that all rows of xml has been read and hasItem is done reading?

最佳答案

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

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();
        }
    });
}); 

关于javascript - 将回调添加到 $(xml).find ("..").each,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15116857/

相关文章:

javascript - 为什么我要在要循环的数组之外获取返回元素?

javascript - jQuery - Ajax 不返回 json 响应

javascript - 减少闭包编译器后的重复单词

javascript - 使用 jQuery 加载页面时显示隐藏的 div 标签

javascript - 无法更改 <template> 中第一个元素的 div ID

javascript - 使用 webpack 将构建文件复制到另一个元素

javascript - 使用 neo4j-graphql-js 时如何访问自定义 graphQL 解析器中的请求 header ?

jQuery 延迟 CSS 更改

jquery - 使用 jquery 平滑地增加图像的大小

JavaScript - 删除网页最后一个选项卡上的 localStorage