使用Kue在forEach循环中创建多个作业

时间:2016-10-04 16:02:53

标签: javascript for-loop asynchronous kue

我正在尝试使用forEachkue循环中创建多个作业,在我的forEach中,我为每个创建的作业返回一个新的承诺。每个作业都具有相同的密钥,但在data中具有不同的电子邮件地址。但是,kue会使用列表中的最后一个电子邮件地址创建所有作业。我似乎无法弄清楚如何防止这个问题。这是一些代码:

const emails = ['abc@test.com', 'def@test.com', 'efg@test.com'];

emails.forEach(email => {
    const extendedData = _.assign(data, { email });
    return new Promise((resolve, reject) => {
        queue
          .create('notifyUsers', extendedData)
          .removeOnComplete(true)
          .save((err) => {
            if (err !== null) {
                reject(err);
                return;
            }
            resolve();
          });
    });
});

'efg@test.com'创建了3个队列。如何让它为每封电子邮件创建一个队列?

感谢。

0 个答案:

没有答案