2017-02-20 6 views
1
var a = ""; 
    Promise.all(aList).then(function(final) { 

     for (let i in final) { 
      var newbeet= final[i]; 
      a = newbeet; 
      console.log(`a: ${a}`); 
     } 
}); 

コンソールには「aの値」が表示されますが、実際には「aの値」の代わりに「a」が割り当てられます。どのようにこの問題(おそらく非同期によって引き起こされる?)に取り組むには?上記のようにPromise.allを使ってみましたが、それでも解決できませんでした。コンソールは値を出力しますが、値は変数に割り当てられません。

zipからファイルを抽出するために使用されるPromise.all内で、私は追加の約束事とPromise.allを作成しました(上記の< - 上記の1つです) zipからhtmlファイルから情報を抽出します。私はこれがhtml情報を抽出するための有効な方法かどうかはわかりません。

答えて

0

aは、Promise.allのコールバックが実行されるまで値に割り当てられません。それに依存するコードがある場合は、aが割り当てられるまでそれを実行する必要があります。

(それでも問題が解決しない場合は、私はこの問題をよく理解していません)

関連する問題