gpt4 book ai didi

javascript - 在 jQuery 之后 promise 每个

转载 作者:行者123 更新时间:2023-11-30 15:54:45 24 4
gpt4 key购买 nike

我正在尝试在我的 $.each() 完成使用 promise 后调用一个函数。但是,当我尝试以下代码时,我得到了 Uncaught TypeError: $.each(...).promise is not a function

$.each(snapshot.val(), function(chat, i){
firebase.database().ref('chats/'+chat+'/msgs').once('value', function(snap){
if (Object.keys(snap.val())[0] != i){
notification = true;
}
});
}).promise().done( function(){ alert("All was done"); } );

我对 promises 比较陌生,谁能告诉我如何解决这个问题?

最佳答案

因此,如果传递给 once 的函数是您的回调,那么以下内容应该可以帮助您。

var promises = [];

$.each(snapshot.val(), function(chat, i){
var dfd = $.Deferred();
firebase.database().ref('chats/'+chat+'/msgs').once('value', function(snap){
if (Object.keys(snap.val())[0] != i){
notification = true;
}
dfd.resolve();
});
promises.push(dfd);
})

$.when.apply($, promises).done(function () {
alert("All was done");
});

关于javascript - 在 jQuery 之后 promise 每个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38757478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com