我试图在一个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'
。我怎样才能让它为每封电子邮件创建一个队列?
谢谢。