Node.js Nodejs回调:如何定义回调?

Node.js Nodejs回调:如何定义回调?,node.js,callback,Node.js,Callback,我正在查看一个示例nodejs服务器代码,该代码运行良好。但无法理解以下代码: var handlers = {}; // Creating a sample handler handlers.sample = function(data,callback){ callback(406,{'name':'sample handler'}); // How is this line of code working?? }; // Creating

我正在查看一个示例nodejs服务器代码,该代码运行良好。但无法理解以下代码:

   var handlers = {};

   // Creating a sample handler
     handlers.sample = function(data,callback){
     callback(406,{'name':'sample handler'});  // How is this line of code working??
    };

   // Creating a not found handler
     handlers.notFound = function(data,callback){
     callback(404); // How is this line of code working??
     };
在整个代码中没有实现“回调”函数,那么如何实现呢

       callback(406,{'name':'sample handler'});

你在工作吗


请建议。谢谢。

回调
未在您发布的代码中实现;这是一个命名参数

要调用需要
回调的函数之一,需要将其作为参数传入,如:

handlers.sample("some data", () => console.log("I'm in a callback!));

第一个参数(
“某些数据”
)位于
数据
参数中,第二个参数(
()=>console.log(“我在回调中!)
)位于
回调
参数中。当运行
回调(404)
时,它执行
回调
函数(在上面的示例中,它将执行
console.log(“我在回调中!)

handlers.sample(dataObject, (number, object) => {
  console.log(number)
  console.log(object.name)
})
将在控制台中产生此结果:

406
sample handler

我很好奇这是不是一个公共图书馆,你在里面看到了这段代码,我们可以仔细看看吗?

我对这段代码做了进一步的挖掘,发现了它

selectedHandler
在下面的代码中(问题中未提及),基于某些逻辑(此处未提及)将解析为
处理程序.sample
处理程序.notFound
变量名

这个函数的第二个参数,它本身就是一个完整的函数

function(status,payloadData){

        // somelogic with the status and payloadData

      } 

作为
handlers.sample
handlers.notFound
中的第二个参数,这是一个回调。因此,在当前上下文中执行回调就是执行此函数(此函数是匿名的,因为它没有名称,并且作为回调执行)

您可能会发现
回调中存储的函数在同一个位置
处理程序中。示例
在代码中的其他位置被调用。感谢Ollin,这正是我要查找的。
  selectedHandler(data,function(status,payloadData){

    // somelogic with the status and payloadData

  });
function(status,payloadData){

        // somelogic with the status and payloadData

      }