Redis
 sql >> Base de données >  >> NoSQL >> Redis

attendre que toutes les promesses se terminent dans nodejs avec bluebird

.map est pratique ici :

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 raison pour laquelle vous n'obtenez aucune sortie avec votre code d'origine est que vous avez promises.push[promise]; qui aurait dû être promises.push(promise)