首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何实现节点imap重试机制

如何实现节点imap重试机制
EN

Stack Overflow用户
提问于 2019-09-20 19:50:11
回答 2查看 290关注 0票数 1

我正在使用IMAP NPM获取电子邮件。我想知道如何在获取电子邮件信息时处理重试机制。官方页面上没有任何相同的文档

代码成功获取电子邮件信息。我试图手动实现重试机制,但由于涉及到许多事件回调,所以事情很困难。例如:

有没有人尝试过这个场景?我的代码片段如下所示

代码语言:javascript
复制
    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函数重试,而不是抛出错误。但它会产生错误。

EN

回答 2

Stack Overflow用户

发布于 2019-09-22 21:12:36

重试在这里是不可能的,因为有很多回调。你需要再打一次完整的电话。最好的做法是让父代码调用这个逻辑,并循环X次,直到成功,否则返回错误。

票数 0
EN

Stack Overflow用户

发布于 2019-09-27 13:01:56

我使用'async.retry‘得到了我的需求。为IMAP及其功能创建了类。在一个称为IMAP功能的方法中,然后使用async调用此方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58027832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档