【问题标题】:callback vs direct calling function in nodejsnodejs中的回调与直接调用函数
【发布时间】: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); 

【问题讨论】:

    标签: node.js async-await callback ssh2


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多