Задать вопрос
@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)


Подскажите, пожалуйста, как это переписать?
Спасибо.
  • Вопрос задан
  • 151 просмотр
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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('')))
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы