$.当承诺解决得太早时
$.when promise is resolving too early
我想知道为什么$.什么时候解决得太早了?只有在所有其他承诺都得到解决时,我才需要它来解决。我错过了什么吗?
更新:http://jsfiddle.net/7hdx5j6z/6/
var promises = []
localforage.iterate(function(value, key) {
if ( key.indexOf('params_') === -1 ) {
promises.push(localforage.removeItem(key))
console.log(promises)
}
})
$.when.apply($, promises).then(function() {
console.log('all done!')
})
iterate
本身返回一个承诺。 在填充promises
数组之前,您需要等待它。
小提琴
var promises = []
var x = localforage.iterate(function (value, key) {
if (key.indexOf('params_') === -1) {
var promise = localforage.removeItem(key)
promises.push(promise)
console.log(promise)
}
})
console.log("x", x);
x.then(function () {
$.when.apply($, promises).then(function () {
console.log('all done!')
})
});
相关文章:
- 加载侦听器上的函数触发得太早
- AngularJS popover未显示内容:渲染太早
- 函数启动太早
- 咽表结束得太早了
- Node js async.series无法使用Express应用程序--响应发生得太早
- $.当承诺解决得太早时
- 过渡开始得太早,而 css 样式尚未完全应用
- 对于 IE 中的 ajax 内容,加载触发时间太早
- Moment.js fromNow() 太早了几秒钟
- Js 数组长度增加得太早
- JavaScript 在命令运行太早时打开新窗口而不是选项卡
- Meteor FlowRouter触发器输入触发太早
- Javascript函数调用得太早
- 太早从数组中删除元素
- Android的onOrientationChange在朝向完成之前触发(太早了)
- 聚合物自定义元素观察者开火太早
- QlikView运行BodyOnLoadFunctionNames回调太早-为什么?
- Angular广播初始化得太早了
- Jquery事件处理程序-新处理程序触发太早
- gulp-watch和liverload,重载太早