make async call inside forEach

后端 未结 2 1794
予麋鹿
予麋鹿 2021-01-13 14:26

I am trying to iterate thru array of objects and add some stuff inside these objects using async function in Node.js.

So far my code looks like:

var          


        
2条回答
  •  余生分开走
    2021-01-13 15:12

    Use async.each

    async.each(channel, function(entry, next) {
        knex('albums')
             .select(knex.raw('count(id) as album_count'))
             .where('channel_id', entry.id)
             .then(function (terms) {
                var count = terms[0].album_count;
                entry.attributes["totalAlbums"] = count;
                next();
             });
    }, function(err) {
        console.log("I want this to be printed once the foreach is finished");
        res.json({error: false, status: 200, data: channel});
    });
    

    The final callback will be called when all entries are processed.

提交回复
热议问题