@DemonIa

Как добавить элемент в массив переменной, находящейся в Promise?

Здравствуйте. Разбираюсь с промисами, и возник вопрос: каким образом переписать код ниже, чтобы в console.log(storage) конкатенировалось значение response из цикла?

В моем коде (как мне кажется) есть две проблемы:
1. Поскольку переменная storage объявлена через let - то она видна только в том блоке в котором она объявлена.
2. Ну и значение в .then не может быть доступно за пределами промиса.

let core = require('core');

    let storage = '';
    multipleElements.forEach(function(singleElement){
        core.somePromise(singleElement)
            .then(function(response){
              storage = storage + response;
            })
    });

    console.log(storage)


Подскажите, пожалуйста, как это переписать?
Спасибо.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@SeaBreeze876
Front-end разработчик
Promise.all() принимает массив промисов и разрешается массивом результатов
let core = require('core');
    let promises = multipleElements.map(singleElement => core.somePromise(singleElement));
    Promise.all(promises)
        .then(resultArray => console.log(resultArray.join('')))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы