回调参数在 JS 异步库中有什么作用?

What do the callback arguments do in JS Async library?

我看到了一个看起来像这样的代码(Pro Node)。它使用 async 库。

var async = require("async");
async.series([
  function(callback) {
    setTimeout(function() {
      console.log("Task 1");
      callback(null, 1);
}, 300); },
  function(callback) {
    setTimeout(function() {
      console.log("Task 2");
      callback(null, 2);
    }, 200);
  },
  function(callback) {
    setTimeout(function() {
      console.log("Task 3");
      callback(null, 3);
}, 100); }
], function(error, results) {
  console.log(results);
});

当我运行它时,它显示:

Task 1
Task 2
Task 3
[ 1, 2, 3 ]

一切都很好 - 但是,我不太明白回调行是什么:callback(null, 1)callback(null, 2)callback(null, 3)

如果我删除所有这些行,当我 运行 代码时它 returns 仅:

Task 1

第一个和第二个参数的作用是什么,为什么第二个参数是 123

异步库中,调用回调函数 async.series 运行数组中的下一个函数。第一个参数是任何错误数据。这是一个节点约定,任何错误都是 first parameter 回调函数。第二个参数是成功数据,作为所有成功数据的数组传递给async.series回调的第二个参数。

请参阅 以了解有关为什么节点更喜欢错误优先回调的更多详细信息。