外側に空の配列を定義し、次に ajax リクエストを作成し、リクエスト内に別のリクエストをネストして、最後にそれを 3 つのオブジェクトに結合して空の配列を挿入します。
次に、最も外側の配列の長さを出力します。出力された長さは 0 です。この問題は代入に影響します。解決方法を教えてください。
欧阳克2017-06-30 09:55:44
イベントループの問題を確認してください
ajax が非同期操作であることはわかっています。
現時点での console.log の場所は、実際には [].length です
現在の js が実行された後、ajax 成功コールバックが実行され、成功コールバックが成功した後にのみ、arr 配列が値にプッシュされます。
そのため、2 番目の ajax 成功コールバックに console.log を追加するとよいでしょう プロミスに関しては、このネストされたコールバックは非常に適切に最適化されますが、ajax をカプセル化する必要があります
为情所困2017-06-30 09:55:44
ajax は非同期データ取得メソッドであるため、非同期で取得されたデータは通常理解されている同期方法では処理できません。console.log を成功コールバック関数に記述する必要があります。