尝试使用sftp
运行nodejs
客户端,但出现有线错误。错误是
UnhandledPromiseRejectionWarning:未处理的承诺拒绝。引发此错误的原因可能是抛出了一个没有catch块的异步函数,或者是拒绝了一个.catch()无法处理的承诺。 (拒绝ID:1)
let Client = require('ssh2-sftp-client');
let sftp = new Client();
const process = require('process');
const config = {
host: 'localhost',
port: '1026',
username: 'Nav****',
password: '*******'
}
sftp.connect(config)
const list = ()=>{
sftp.connect(config).then(() => {
return sftp.list('../send_backend');
}).then((data) => {
console.log(data, 'the data info');
}).catch((err) => {
console.log(err, 'catch error');
})
}
console.log("=======================================");
console.log("received data =>" + list());
答案 0 :(得分:0)
列表外的“ sftp.connect(config)”是什么。如我所见,您既没有使用解决方案,也没有使用被拒绝的案例。这就是问题所在。因此,您应该处理异常或删除该代码!
以防万一
sftp.connect(config)
.then(()=>{//do something here})
.catch((exception)=>{ console.log(exception) // do something else })
如评论中所述,您可以使用:
let Client = require('ssh2-sftp-client');
let sftp = new Client();
const process = require('process');
const config = {
host: 'localhost',
port: '1026',
username: 'Nav****',
password: '*******'
}
sftp.connect(config)
.then(()=>{
// what you want to do after you make connection goes here
})
.catch((exception)=>{
console.log(exception) // do something else
})