NodeJS MailListener

yebdmbv4  于 2023-06-22  发布在  Node.js
关注(0)|答案(1)|浏览(93)

我正在使用这个库阅读收件箱https://www.npmjs.com/package/mail-listener5中的电子邮件。但是当我选择几封邮件(5封邮件)作为“未读”时,事件会发出5次相同的5封标记为未读的邮件。查看库内部,我发现了这段代码,这是触发更新事件的地方。但我找不到一个方法让它正常工作。

self.imap.search(self.searchFilter, (error, results) => {
      if (error) { self.emit('error', err); } 
      else if (results.length > 0) 
      {
        console.log('results = ',results);

        async.each(results, (result, callback) => {
           
        }, (error) => {
          if (error) 
          {
            self.emit('error', error);
          }
        });
        
      }
    });
  }

这是控制台的代码:

results =  [ 18140, 18141, 18142, 18143, 18144 ]
results =  [ 18140, 18141, 18142, 18143, 18144 ]
results =  [ 18140, 18141, 18142, 18143, 18144 ]
results =  [ 18140, 18141, 18142, 18143, 18144 ]
results =  [ 18140, 18141, 18142, 18143, 18144 ]

我期望的结果是
结果= [ 18140,18141,18142,18143,18144 ]
谢谢你的帮助。

7ajki6be

7ajki6be1#

if (error) {
    self.emit('error', error);
  } else if (results.length > 0) {
    console.log('results = ', results);

    async.each(results, (result, callback) => {
      // Process each result asynchronously
      callback(); // Call the callback function when processing is complete
    }, (error) => {
      if (error) {
        self.emit('error', error);
      } else {
        // Execution reaches here when all results have been processed
      }
    });
  }
});

试试这个回调

相关问题