0

forEachを使用してループ内で複数のジョブを作成しようとしていますkueforEach作成されたジョブごとに新しい 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