【问题标题】:Node.js - ssh2-sftp-client getting multiple files errorNode.js - ssh2-sftp-client 获取多个文件错误
【发布时间】:2020-06-12 01:55:03
【问题描述】:

我使用 ssh2-sftp-client 来获取一些文件。如果我使用 sftp.end();最后,我在控制台中收到此错误:

{ Error: fastGet->exists->exists: No SFTP connection available
    at Object.formatError (/home/project/node_modules/ssh2-sftp-client/src/utils.js:62:18)
    at SftpClient.fastGet (/home/project/node_modules/ssh2-sftp-client/src/index.js:590:19)
    at process._tickCallback (internal/process/next_tick.js:68:7) code: 'ERR_NOT_CONNECTED', custom: true } 'Error'

...

我错过了什么?

【问题讨论】:

    标签: javascript node.js ssh sftp ssh2-sftp-client


    【解决方案1】:

    我认为目前正在发生的事情是,由于您没有从第二个then() 返回Promise,因此第三个then() 会立即得到解决(值为undefined),这会导致您的连接立即终止(在您的 fastGet()s 有时间完成之前)。

    要解决此问题,您需要从第二个 then() 显式返回 Promise,只有在传输所有文件后才能解决此问题。如果至少有一个传输失败,您可能还需要考虑拒绝该承诺。

    【讨论】:

    • 感谢您的支持。你能提供代码示例吗?是的,在控制台中我可以看到 sftp.end();在“成功”消息之前执行...
    猜你喜欢
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 2021-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-19
    相关资源
    最近更新 更多