マシン(ノード5.8.0がインストールされている)でコードサンプルを実行し、次の結果を得る(コードサンプルの後を参照)。Promise.all(配列)がすぐに解決されないのはなぜですか?
コードサンプル:
'use strict'
var p1 = Promise.resolve();
var p2 = Promise.resolve();
var p12 = Promise.all([p1, p2]);
var cb = function() {
console.log(p12);
}
setTimeout(cb, 0);
console.log(p1);
console.log(p2);
console.log(p12);
結果:
プロミス{不定}
プロミス{不定}
プロミス{<pending>
}
プロミス{[不定、不定]}
なぜp12がp1とp2の直後に解決されないのですか(プログラムの開始時にp1とp1が解決される)、なぜ 'タイムアウトしました' p12が解決されたのですか? Promise.all(配列)が解決されるのに少し時間が必要ですか?
「Promise.resolve(true);」 – CodingGorilla