Javascript Q promise:回调调用的顺序是否与注册的顺序相同?

Javascript Q promise:回调调用的顺序是否与注册的顺序相同?,javascript,promise,q,Javascript,Promise,Q,我正在使用promise图书馆。我的代码依赖于这样一个事实:单个承诺的回调按照注册时的相同顺序执行 这确实产生了正确的结果,但我不知道这是规范的一部分,还是一个令人高兴的巧合,可能会破坏这条线。来自 2.2.6.1 如果履行了承诺,则必须按照对的原始调用顺序执行相应的oncompleted回调 实际上,名称Q有意暗示它是事件队列的接口。 var deferred = Q.defer(); var promise = deferred.promise; ['first', 'second',

我正在使用promise图书馆。我的代码依赖于这样一个事实:单个承诺的回调按照注册时的相同顺序执行

这确实产生了正确的结果,但我不知道这是规范的一部分,还是一个令人高兴的巧合,可能会破坏这条线。

来自

2.2.6.1

如果履行了
承诺
,则必须按照对
的原始调用顺序执行相应的
oncompleted
回调


实际上,名称
Q
有意暗示它是事件队列的接口。
var deferred = Q.defer();
var promise = deferred.promise;

['first', 'second', 'third'].forEach(function (position) {
  promise.then(function () {
    alert(position);
  });
});

deferred.resolve();