0

我试图在一个forEach循环中创建多个工作kue,在我forEach的每个创建的工作中我都返回一个新的 Promise。每个工作都有相同的密钥,但在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();
          });
    });
});

为 . 创建 3 个队列'efg@test.com'。我怎样才能让它为每封电子邮件创建一个队列?

谢谢。

4

0 回答 0