27
約束を次々に解決しますか(つまり、順番に)?
ファイルの配列をシリアル/シーケンシャルに読み取る次のコードを考えてみます。readFilesすべてのファイルが順番に読み込まれたときにのみ解決されるpromiseを返します。 var readFile = function(file) { ... // Returns a promise. }; var readFiles = function(files) { return new Promise((resolve, reject) => var readSequential = function(index) { if (index >= files.length) { resolve(); } else { readFile(files[index]).then(function() { readSequential(index + 1); }).catch(reject); } }; readSequential(0); // Start! }); }; 上記のコードは機能しますが、物事が連続して発生するために再帰を実行する必要はありません。奇妙なreadSequential関数を使用する必要がないように、このコードを簡単に書き直す方法はありますか? …