2015-08-24 4 views
0

сказать, что я хочу, чтобы отправить электронную почту и нажмите уведомление клиента в то же время после того, как LookUp пользователя из базы данных, я мог бы написатьBluebird для параллельных независимых задач

User.findById(userId).exec() 
.then(() => sendMail()) 
.then(() => pushNotification()) 

, но, так как pushNotification Безразлично» t должно произойти после sendMail, есть ли другой способ написать это?

ответ

2
var BlueBird = require('bluebird'); 

User.findById(userId).exec() 
    .then(() => Bluebird.all([sendMail(), pushNotification()])) 

будет запускать их оба в одно и то же время и ждать их обоих.

0

То же самое с ES6:

User.findById(userId).exec() 
    .then(() => Promise.all([sendMail(), pushNotification()])) 
Смежные вопросы