我使用 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'
...
我错过了什么?
最佳答案
我认为目前正在发生的事情是,由于您没有从第二个 then()
返回一个 Promise
,所以第三个 then()
立即解析(值为 undefined
),这会导致您的连接立即终止(在您的 fastGet()
有时间完成之前)。
要解决此问题,您需要从第二个 then()
显式返回一个 Promise
,只有在所有文件都已传输后才会解析。如果至少有一次传输失败,您可能还需要考虑拒绝该 promise 。
关于javascript - Node.js - ssh2-sftp-client 获取多个文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62309198/