缺陷的JQuery数组,实现不起作用
JQuery Array of Deferreds, implementation not working
有人能看到这段代码中的任何错误吗?我在整个应用程序中使用这种方法,几乎完全相同,但由于某种原因,我似乎根本无法解决主要承诺"a";
Parser.prototype.insertSomeData = function(data)
{
var a = $.Deferred(),
table = "Example",
columns = ["col1", "col2", "col3"];
var deferreds = [];
// insert Data into the database
for (var i = 0; i < data.length; i++)
{
var dfd = $.Deferred();
deferreds.push(dfd.promise());
item = data[i];
database.insert(table, columns, [item.one, item.two, item.three], function(){console.log("resolved"); dfd.resolve()}, dfd.reject);
}
$.when.apply(null, deferreds).then(function(){console.log("it worked!"); a.resolve()});
return a.promise();
}
延迟数组中的两个promise都得到了解决。所以我认为问题出在when
上。看到我遗漏的东西了吗?
- 您对
dfd.resolve
进行了编码,但这只不过是获取函数。你必须称之为:dfd.resolve()
- 当所有延迟都完成后,您可能想要解析
a
,而不是dfd
。当$.when
完成时,所有dfd
都已解析,在这种情况下,您可能希望解析主延迟(a
)
deferreds
只包含来自dfd
对象的promise,因此它们是要解析的。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- 表单提交前客户端地理编码的实现;不起作用
- 缺陷的JQuery数组,实现不起作用
- 在node_redis上实现findBy方法,但它没有'不起作用
- 为什么这个Merge-Sort java脚本实现不起作用
- 数据表实现根本不起作用,Javascript/JQuery
- Jquery 对话框在我实现灯箱后不起作用
- Wt(机智).关于Javascript实现不起作用的一无所知
- javascript实现“;“全选”;复选框在IE中不起作用
- JavaScript实现不起作用(Chart.js)
- 使用Rxjs实现的拖放不起作用
- Javascript+Canvas实现的《生命的游戏》不起作用