【发布时间】:2020-01-21 11:32:31
【问题描述】:
我正在使用 IMAP NPM 来接收电子邮件。我想知道在获取电子邮件信息时如何处理重试机制。官方页面没有任何相同的文档
代码成功获取电子邮件信息。我试图手动实现重试机制,但由于涉及许多事件回调,所以事情很艰难。例如
有没有人尝试过这种情况?我的代码 sn-p 如下所示
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 函数重试,而不是抛出错误。但它给出了错误。
【问题讨论】:
-
请显示您想要重试的代码,并且您是否有您正在寻找的特定错误?您认为这里有必要重试的具体原因吗?
-
代码与我从 NPM Imap 站点尝试的代码相同。我需要重试,因为我需要处理 MailServer 暂时关闭的情况,我需要重试 5 次然后返回错误。例如如果在函数 openbox 内的代码中,如果流程出错,那么我想重试 openbox 调用。我想我需要再次拨打电话。
-
如果您希望人们在这里帮助您,您必须发布您的代码的相关部分。我们不会猜测您的代码是什么。这就是它的工作原理。
-
在上面的帖子中更新。
-
重试的级别必须高于您显示的级别。如果正确的 IMAP 命令失败,那么您可能必须断开连接并重新连接。任何合理的 IMAP 服务器都不应该暂时使命令失败,然后再恢复。