我正在使用IMAP NPM获取电子邮件。我想知道如何在获取电子邮件信息时处理重试机制。官方页面上没有任何相同的文档
代码成功获取电子邮件信息。我试图手动实现重试机制,但由于涉及到许多事件回调,所以事情很困难。例如:
有没有人尝试过这个场景?我的代码片段如下所示
imap.once('ready', function() {
openInbox(function(err, box) {
if (err) throw err;
var f = imap.seq.fetch('1:3', {
bodies: 'HEADER.FIELDS (FROM TO SUBJECT DATE)',
struct: true
});在上述情况下,我想再次调用openInbox函数重试,而不是抛出错误。但它会产生错误。
发布于 2019-09-22 21:12:36
重试在这里是不可能的,因为有很多回调。你需要再打一次完整的电话。最好的做法是让父代码调用这个逻辑,并循环X次,直到成功,否则返回错误。
发布于 2019-09-27 13:01:56
我使用'async.retry‘得到了我的需求。为IMAP及其功能创建了类。在一个称为IMAP功能的方法中,然后使用async调用此方法。
https://stackoverflow.com/questions/58027832
复制相似问题