Модифицированный массив javascript возвращается к старому массиву вне цикла asyn c for - PullRequest
0 голосов
/ 01 февраля 2020

У меня есть следующий код в качестве контроллера Express.

const getArticle = (req, res, next) => {
    Article
        .find()
        .populate('author')
        .then(async articles => {
            for (let i = 0; i < articles.length; i++) {
                articles[i].author.profile = await getFirebaseUserProfile(articles[i].author.firebaseId);
            console.log(articles);
            }
            console.log(articles[i].author.profile);
            res.json({ articles });
        })
        .catch(err => console.log(err));
};

Когда профиль автора статей регистрируется из для l oop, профиль firebase регистрируется правильно. Но когда массив статей регистрируется во второй раз за пределами для l oop, он является исходным массивом без изменений. Может кто-нибудь объяснить, пожалуйста, как это исправить и почему это происходит?

...