2017-02-20 10 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, как указано выше, но до сих пор не удалось его решить.Консоль выводит значение, но значение не присваивается переменной?

В рамках Promise.all, который используется для извлечения файлов из почтового индекса, я создал дополнительное обещание и Promise.all для него (< - тот, что показан выше), так что дополнительный может мне помочь для извлечения информации из html-файла из zip. Я не знаю, действительно ли это способ извлечь html-информацию.

ответ

0

a не будет присвоен значению, пока не будет выполнен обратный вызов для Promise.all. Если у вас есть код, который зависит от него, вам не нужно запускать его до тех пор, пока не будет назначен a.

(Если это не помогает, я не совсем понимаю проблему)