【发布时间】:2015-12-11 06:22:47
【问题描述】:
还有一个关于承诺的问题。我有这种情况:
Service.prototype.parse = function (data) {
var deferred = $.Deferred();
var arr = [];
for (var i = 0; i < data.length; i++) {
var details = new Details();
$.when(details).then(function (data) {
arr.push(data);
deferred.resolve(arr);
});
}
return deferred.promise;
};
代码中的其他地方:
...
$.when(parse()).then(function (resp) {
//...
});
promise 在某个时候得到解决,但最初 resp 的长度为 1。
如何等待parse()解决一切并返回一个数组?
【问题讨论】:
-
@Bergi 这不是重复的,它只是相似的,也许链接到它是合适的,但我认为这些问题足够遥远,可以分开。这个问题本身就很有价值。
-
@BenjaminGruenbaum:是的,但是我们有很多关于多个并发延迟的 jQuery 问题,这肯定是一个骗局 :-) 我只是还没有决定一个好的规范。
-
@Bergi 我也是,我一直在努力。问题是这些问题足够不同,没有什么是完全重复的,而且我担心向人们展示类似(但不完全相同)相同问题的类似问题可能会阻止他们。我认为从问题中链接就足够了。
标签: javascript jquery promise jquery-deferred