node.js - 如何实现节点imap的重试机制
问题描述
我正在使用 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 函数重试,而不是抛出错误。但它给出了错误。
解决方案
此处无法重试,因为有很多回调。您需要再次拨打电话。最好的办法是让父代码调用此逻辑并将其循环 X 次,直到成功,否则返回错误。
推荐阅读
- matlab - 了解KNN的标准化过程
- c# - 如何在 c# windows 窗体中使用 n 层架构用数据库值填充组合框
- jquery - 单击角度链接后添加/删除类
- git - RTC(理性团队音乐会)中的进出是什么意思?
- java - 我的应用程序跳过启动意图并执行下一行代码?
- typescript - 检测 Word 上的更改(API Office)
- powershell - 导入 .csv AzureADUser 脚本仅返回 100 个条目
- solidity - windows10无法安装web3 js
- internet-explorer - 剑道网格过滤器值
- python-3.x - Bigquery CSV 文件加载失败