任何人都可以看到这段代码中的任何错误吗?我在我的应用程序中使用这种方法,几乎相同,但由于某种原因,我似乎无法解决主要承诺“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();
}
延迟数组中的两个承诺都得到了解决。所以我认为问题出在when
任何看到我遗漏的东西?