私は次のコードを持っています。fileStatsPromises
はPromise<Stats>[]
です。foo
とbar
はPromise<Stats>[]
です。それらを待つ正しい方法は何ですか?私は<Stats>[]
を取得したいと思います。JavaScript/TypeScriptで約束のリストを待つ方法はありますか?
const files = await readDir(currentDir);
const fileStatsPromises = files.map(filename => path.join(currentDir, filename)).map(stat);
const foo = await fileStatsPromises;
const bar = await Promise.all(fileStatsPromises);
あなたのコードはかなり不完全である
bar
は配列になります。実際に実行できる( 'stat'の定義を含む)例を提供できますか?それとは別に、 'fileStatsPromises'がPromiseの配列であれば、2番目のオプション(' bar')でうまくいくはずです。 – nilsこれはtypescriptによって引き起こされるバグのようです。なぜなら、 'bar'を記録すると、コンソールは実際に10 'hello'を出力するからです。 – Zen