微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nodejs中的回调与直接调用函数

如何解决nodejs中的回调与直接调用函数

原来的问题是,如果我调用一个没有回调或有回调的函数有什么区别

我正在使用 ssh2 库来列出远程 sftp 服务器上的目录,因为有一个函数“readdir”

如果我按如下方式调用 readdir,它就完美无缺

readdir(path,(err,list)=>{
         console.log(list); //list have all data as it should be
}

但是如果我这样调用函数(在异步函数中正常使用它)

list= readdir(path);

以上代码从 ssh2 依赖项 ssh2-streams 返回错误

错误

cb is not a function
cb(undefined,stream); 

解决方法

如果您查看 https://github.com/mscdex/ssh2/blob/master/lib/protocol/SFTP.js 处的源代码,您会看到此函数被描述为回调函数。 如果你不想引发错误,你需要像第一种情况一样放置参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。