最初的问题是,如果我调用一个没有回调或有回调的函数,会有什么区别
我正在使用ssh2库来列出远程sftp服务器上的目录;readdir";
如果我调用readdir如下所示,它完全可以实现
readdir(path, (err, list)=>{
console.log(list); //list have all data as it should be
}
但是如果我调用这样的函数(在异步函数中正常使用(
list= readdir(path);
以上代码从ssh2依赖ssh2流返回错误
错误为
cb is not a function
cb(undefined, stream);
如果您在https://github.com/mscdex/ssh2/blob/master/lib/protocol/SFTP.js,您将看到该函数被描述为回调函数。如果不想引发错误,则需要像第一种情况一样放置参数。