承诺后jQuery每个
Promise after jQuery each
我试图在$.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"); } );
我对承诺还比较陌生,有人能告诉我如何解决这个问题吗?
因此,如果传递给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");
});
此代码首先执行每个Json,然后执行done函数。
$(Json).each(function (Cont, Item) {
*//Scrolls through all items iemphasized textn Json.*
*//Count is Number of Item*
*//Item is Item node*
}).promise().done(function(){
alert("All was done");
});
//.procise()在此链接中输入链接描述
//.done()在此链接中输入链接描述
相关文章:
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- 正在读取多个JSON对象's文本作为每个jQuery语句
- 有没有一种方法可以在一次调用中修改每个jquery对象的特定属性
- 将每个迭代到每个jQuery中
- 如何在单引号内添加每个 jquery 数组值
- 我应该在每个jQuery文件之上调用Parse.initialize()
- 循环每个 jQuery 问题
- 调用 Struts2 操作,每个 jQuery DataTable 行中的参数
- 如何为每个jQuery JSON CSV设置
- 为每个jquery创建select选项
- 为每个jQuery添加多个函数值
- 当每个jQuery Ajax请求完成时获取响应
- 如何获得每个jQuery方法的THIS
- 尝试使用$.每个jquery迭代器.这两者的区别是什么?
- 尝试从每个jquery函数中获取var,并使用insertbefore
- 活出每个jquery
- 为每个jQuery插件实例设置默认设置的正确方法
- 如何以不同的方式命名每个jQuery Raty隐藏输入元素
- 每个jquery函数中的事件绑定
- 每个jquery都有什么问题