如何从SSH连接返回值?

时间:2018-10-30 07:47:34

标签: javascript ssh return

我还是不熟悉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"

}

0 个答案:

没有答案