Модификация массива внутри карты / обещания (Javascript) - PullRequest
0 голосов
/ 25 августа 2018

В приведенном ниже коде я хотел бы изменить поле «изображение» каждого объекта (статьи), хранящегося в массиве «статьи». Я знаю, что могу создать пустой массив и отправить глубокую копию каждой статьи одну за другой, используя оператор распространения, как описано здесь . Можно ли как-то изменить содержимое массива «на месте»? Я попытался передать статьи в качестве третьего аргумента, и я до сих пор не могу изменить поле «изображение» каждой статьи, хранящейся в массиве. Заранее спасибо.

let requests = articles.map((article, i)=>{
     return new Promise((resolve) => {
          articleImage.findById(article.image, (err, theImage)=>{
               if(err) return res.status(400).send(err);
               articles[i].image = theImage.source;
               resolve();
          });
     });
});
Promise.all(requests).then(res.status(200).send(articles));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...