0

我已经实现了节点 imap ( https://github.com/mscdex/node-imap )。在打开的收件箱中收听电子邮件。工作正常,没有任何问题。但是,在使用非常不稳定的互联网连接时,似乎连接丢失并且出现了一些错误:

Error: This socket is closed
    at Socket._writeGeneric (net.js:733:18)
    at Socket._write (net.js:787:8)
    at doWrite (_stream_writable.js:396:12)
    at clearBuffer (_stream_writable.js:523:7)
    at Socket.Writable.uncork (_stream_writable.js:312:7)
    at JSStreamWrap.doWrite (internal/wrap_js_stream.js:119:17)
    at JSStreamWrap.handle.onwrite (internal/wrap_js_stream.js:37:42)
    at shutdownSocket (net.js:286:23)
    at defaultTriggerAsyncIdScope (internal/async_hooks.js:281:19)
    at TLSSocket.Socket._final (net.js:312:13)
    at callFinal (_stream_writable.js:584:10)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickDomainCallback (internal/process/next_tick.js:219:9)

据我所知,我有所有相关事件的处理程序

  imap.once('error', function(err) {

  });

  imap.once('close', function(err) {

  });

  imap.once('end', function(err) {

  });

但是,错误不属于其中任何一个。此外,我将所有内容都包含在 try/catch 中,但该错误仍然会使节点进程崩溃,我必须重新启动它。

知道如何解决这个问题吗?理想情况下捕获错误并给它一个机会来结束/重新启动 imap 连接。

4

0 回答 0