検索

ホームページ  >  に質問  >  本文

JavaScript - async/await および forEach の問題

方法 1: 問題ありません

リーリー

方法 2: 一緒に出力されますが、なぜですか? (待ち時間なし)

リーリー

すべてのコード

リーリー
PHP中文网PHP中文网2752日前486

全員に返信(2)返信します

  • 淡淡烟草味

    淡淡烟草味2017-05-16 13:41:43

    言わせてください。
    await は async 宣言の関数コンテキストでのみ使用できます 以下に示すように、forEach では await を直接使用することはできません。 リーリー

    注意深く見てみると、あなたの問題は別の状況であることがわかりました。

    test をコールバック関数として渡すと、sleep メソッドが同期的に実行され、await は引き続き有効ですが、同時に有効になるだけです。したがって、後続の関数は同じ時間待機した後、まとめて実行されます。

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-16 13:41:43

    async 非同期ループを実行する場合は、for ... of ... または Promise.all() を使用するのが最善です

    返事
    0
  • キャンセル返事