我正在使用Q Promise 库。我的代码依赖于这样一个事实,即单个 Promise 的回调按照与注册时相同的顺序执行。
var deferred = Q.defer();
var promise = deferred.promise;
['first', 'second', 'third'].forEach(function (position) {
promise.then(function () {
alert(position);
});
});
deferred.resolve();
这确实产生了正确的结果,但我不知道它是规范的一部分还是可能打破界限的巧合。