用于并行独立任务的蓝鸟

Bluebird for parallel independent tasks

假设我想在从数据库中查找用户后发送电子邮件并同时向客户端推送通知,我可以这样写

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

但是,由于 pushNotification 不必发生在 sendMail 之后,还有其他方法可以写这个吗?

var BlueBird = require('bluebird');

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

将同时启动它们并等待它们。

与es6​​相同:

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