nodejs中的回调与直接调用函数
Posted
技术标签:
【中文标题】nodejs中的回调与直接调用函数【英文标题】:callback vs direct calling function in nodejs 【发布时间】:2021-09-26 22:36:10 【问题描述】:最初的问题是,如果我调用不带回调或带回调的函数有什么区别
我正在使用 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);
【问题讨论】:
【参考方案1】:如果您查看https://github.com/mscdex/ssh2/blob/master/lib/protocol/SFTP.js 的源代码,您会看到该函数被描述为回调函数。 如果您不想引发错误,则需要将参数放在第一种情况下。
【讨论】:
以上是关于nodejs中的回调与直接调用函数的主要内容,如果未能解决你的问题,请参考以下文章