在这个例子中传递给参数cb的是什么?

时间:2018-06-04 09:30:57

标签: node.js

我正在学习Node JS,我对以下代码片段感到困惑。稍后在代码中调用Dosomething而不使用任何参数。那么设置的值cb是什么(因为没有传递参数)?

let dosomething = (cb) => {
checkAuthToken.get((err, authKey) => {
    if (err) {
        return cb(err)
    }

    return cb(null, authKey);
})

}

1 个答案:

答案 0 :(得分:0)

@UZA ,在您的代码中, dosomething()是一个将1个参数作为另一个回调函数的函数。

如果出现错误,您使用1个错误参数错误调用该回调函数。

如果成功,您使用2个参数调用回调 null &的 AUTHKEY

您在代码中使用了箭头功能。我想,这让你怀疑。

  

如果您的解释无法解决您的问题,请发表评论。我会用更多的例子来更新我的答案。

这里我展示了两个简单的例子。

»简单函数语法

function doSomething(cb) {
  if(true) {
         cb("I am a programmer"); 
  }
}

// Call doSomething() with 1 parameter as a function
doSomething(
function (message) {
   console.log(message); // I am a programmer
})

»箭头函数语法(使用箭头函数实现上述代码)

var doSomething = (cb) => {
  if(true) {
         cb("I am a programmer"); 
  }
}

// Call doSomething() with 1 parameter as a function
doSomething (
 (message) => {
   console.log(message); // I am a programmer
})