検索

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

JavaScript - for ループ内の Promise がインデックスを読み取れない理由

リーリー

2 番目の出力は $remove

または、.thenでキーを取得する方法を教えてください

给我你的怀抱给我你的怀抱2846日前694

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

  • 仅有的幸福

    仅有的幸福2017-05-19 10:22:43

    キーワード: 閉鎖

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:22:43

    それを解決するにはarray.mapを使用する方がよりエレガントになります

    返事
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:22:43

    es6 の var を let に置き換えるだけです

    返事
    0
  • 高洛峰

    高洛峰2017-05-19 10:22:43

    この問題は、典型的なループ変数スコープの問題です。 then() 中的回调被调用的时候 key 可能已经循环到最后一个了(也可能是间的某个值),所以里面使用的 key 值是当时的 key 值。这在 ES6 中要可以用 let 代替 varそれを解決するには(すでにES6のアロー機能を使用しているようですので、最初にES6を使用してください)

    リーリー

    ES5 を書きたい場合は、IIFE を使用してローカライズされたキー値をシールできます (パラメーターを通じて渡されるため、変更されません)

    リーリー

    おすすめの関数記述方法、簡単そう、ES6ならこんな感じでできます

    リーリー

    ES2017 では非同期も使用でき、構文はより簡潔です

    リーリー

    返事
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:43

    テストしたところ、動作しました。var の代わりに let を使用する必要があります。そうでない場合、出力は最後のキーになります

    返事
    0
  • キャンセル返事