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

javascript - for ループ コードの実行順序に関する質問

WeChat アプレットでは、キャンバスをクリックして画像に変換してプレビューする機能が実装されていますが、for ループ内で非同期メソッドが呼び出されるため、オンラインの提案に従って即時実行関数を使用します。 for ループ内で複数のテストを行ったところ、コンソールが最初に「ループ インデックスは 1」と出力し、次に「ループ インデックスは 0」(便宜上、モデルの長さは 2) が出力され、状況が発生することが判明しました。このように: 最初のキャンバスをクリックすると、その結果、プレビューが 2 番目になりました。私は当惑していますが、神が私を啓いてくださることを願っています。

リーリー リーリー
高洛峰高洛峰2661日前716

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

  • ringa_lee

    ringa_lee2017-06-24 09:45:08

    これは正常です。非同期復帰のタイミングは不確実であるため、同時に 2 つの非同期メソッドがある場合、復帰の順序も不確かになります。 WeChat では実行していませんが、h5 同期メソッドもサポートしているはずです。それが機能しない場合は、キューに複数のリクエストが返されていない場合は、変数コントロールを追加してください。最後のものだけが表示され、他のものは表示されません。

    返事
    0
  • キャンセル返事