ホームページ >ウェブフロントエンド >jsチュートリアル >Promise を正しく処理するために「Array.map」と「async/await」を併用するにはどうすればよいですか?

Promise を正しく処理するために「Array.map」と「async/await」を併用するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-14 11:47:18862ブラウズ

How Can I Use `Array.map` and `async/await` Together to Process Promises Correctly?

Array.map と Async/Await: Promise の互換性の解決

以下のコード スニペットは Array.map と async/await を利用することを目的としています。を実行すると、エラーが発生します:

var arr = [1,2,3,4,5];

var results: number[] = await arr.map(async (item): Promise<number> => {
        await callAsynchronousOperation(item);
        return item + 1;
    });

エラーは次の試行によって発生しました。単一の Promise ではなく、Promise の配列を待機します。ただし、簡単な解決策は、解決を待つ前に Promise.all を使用して Promise 配列を単独の Promise に変換することです。

var arr = [1, 2, 3, 4, 5];

var results: number[] = await Promise.all(arr.map(async (item): Promise<number> => {
    await callAsynchronousOperation(item);
    return item + 1;
}));

以上がPromise を正しく処理するために「Array.map」と「async/await」を併用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。