sql >> Base de Datos >  >> NoSQL >> Redis

esperar a que terminen todas las promesas en nodejs con bluebird

.map es útil aquí:

loadActiveChannels: function() {
    return Knex('game_channels as ch')
    .where('ch.channel_state', '>', 0)
    .map(function(channel) {
        return redis.hmsetAsync("channel:"+channel.channel_id, _.omit(channel, 'channel_id'))
    }).then(function(res) {
        console.log(res);
    })
}

La razón por la que no obtiene ningún resultado con su código original es porque tiene promises.push[promise]; que debería haber sido promises.push(promise)