Q promise ライブラリを使用しています。私のコードは、単一の promise のコールバックが登録された順序で実行されるという事実に依存しています。
var deferred = Q.defer();
var promise = deferred.promise;
['first', 'second', 'third'].forEach(function (position) {
promise.then(function () {
alert(position);
});
});
deferred.resolve();
これは正しい結果を生成しますが、それが仕様の一部なのか、それともラインを壊す可能性のある偶然の一致なのかはわかりません.