我正在使用Q承诺库。我的代码依赖于这样一个事实,即单个promise的回调按照它们注册的顺序执行。
var deferred = Q.defer();
var promise = deferred.promise;
['first', 'second', 'third'].forEach(function (position) {
promise.then(function () {
alert(position);
});
});
deferred.resolve();
这确实产生了正确的结果,但我不知道这是否是规范的一部分,或者是一个可以打破界限的快乐巧合。
答案 0 :(得分:11)
<强> 2.2.6.1 强>
如果/
promise
满足时,相应的onFulfilled
回调必须按其原始来电then
的顺序执行。