回调参数在 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
第一个和第二个参数的作用是什么,为什么第二个参数是 1
、2
和 3
?
异步库中,调用回调函数
async.series
运行数组中的下一个函数。第一个参数是任何错误数据。这是一个节点约定,任何错误都是 first parameter 回调函数。第二个参数是成功数据,作为所有成功数据的数组传递给async.series
回调的第二个参数。
请参阅 以了解有关为什么节点更喜欢错误优先回调的更多详细信息。
我看到了一个看起来像这样的代码(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
第一个和第二个参数的作用是什么,为什么第二个参数是 1
、2
和 3
?
异步库中,调用回调函数
async.series
运行数组中的下一个函数。第一个参数是任何错误数据。这是一个节点约定,任何错误都是 first parameter 回调函数。第二个参数是成功数据,作为所有成功数据的数组传递给async.series
回调的第二个参数。
请参阅