我还是不熟悉javascript。 我的问题: 我通过ssh检查服务器上的文件夹。如果文件夹为空,那么我想返回一个值(true / 1 / ...)。但是我只是无法从函数中获取值。 它总是返回“未定义” ...
我在做什么错? 我已经阅读了有关promise / callback的内容,但是即使这些方法也不起作用... 预先谢谢你=)
async function CheckIfDirectoryIsNotEmpty() {
let value;
let Client = require('ssh2-sftp-client');
let sftp = new Client();
sftp.connect({
host: 'xxxxx',
port: 'xx',
username: 'xxxxxxxx',
password: 'xxxxxxxx'
}).then(() => {
return sftp.list('/opt/cm-shared-data/example/')
}).then((data) => {
if(data.length == 0){
value = 0;
}
else { value = 1;}
sftp.end();
return value;
});
}
调用方法:
async function start() {
var a = CheckIfDirectoryIsNotEmpty();
console.log(a); // "undefined"
}