javascript - Node.js - ssh2-sftp-client 获取多个文件错误

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

我使用 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/

相关文章:

javascript - 显示/隐藏文本区域框+在图像之间交换onclick

javascript - 如何在图像上添加可编辑的文本字段?

git - 我在存储库中发布了我的 SSH 私钥

mysql - 有没有办法将 EOF 与终端别名结合起来?

python - Paramiko 身份验证失败,出现 "Agreed upon ' rsa-sha2-51 2' pubkey algorithm"(和 sshd 日志中的 "unsupported public key algorithm: rsa-sha2-512")

javascript - JS - 按顺序链接异步方法,不带回调或修改

javascript - Socket.io TypeError : this. 传输未定义

javascript - MongoDB:如何填充嵌入式引用

javascript - Node.js:创建具有分离操作的模块

javascript - 在 cypress 中加载时继续向下滚动