如何将值传递给 nodejs 回调

How to pass values to a nodejs callback

所以我正在思考如何将 variables/data 传递给回调,就像 Request 那样:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Show the HTML for the Google homepage.
  }
})

开发者如何将error、response、body传递给callback供用户使用?例如,假设我有一个基本的主要功能:

function main(_arg1, _arg2, callback) { ... }

当我调用它时,我会做类似

的事情
main('test1', 'test2', function(a, b){ console.log(a+b); }

正确吗?那么我如何将 _arg1_arg2 传递给回调,以便它输出像 test1test2 这样的结果?

我尝试通过 Whosebug 查看所有内容,但我找不到与此相关的任何内容,所以如果这是重复的,我很抱歉。

然而,任何帮助 and/or 解释将不胜感激! :)

您只需在调用回调时将它们作为参数传递即可。这是一个例子:

// define a function that accepts a callback argument
function callMeBackPlease(x, y, callback) {
    // call the callback and pass it the desired arguments
    callback(x+y, x/y);
}

// call the function and pass it a callback function
callMeBackPlease(3, 5, function(sum, div) {
    console.log(sum, div);  // outputs 8, 0.6
});

回调只是一个函数。而且,在 Javascript 中,您可以在调用其他函数时将函数作为参数传递,然后传递给它的函数可以使用任何适当的参数调用该回调函数。