我看到了一个类似这样的代码(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)
和回调(null,3)
。
如果我删除所有这些行,当我运行代码时它只会返回:
Task 1
第一个和第二个参数的作用是什么?为什么第二个参数是 1
、2
和 3
?
最佳答案
在async库中,调用回调函数
async.series
运行数组中的下一个函数。第一个参数是任何错误数据。这是一个节点约定,任何错误都是 first parameter到回调函数。第二个参数是成功数据,并作为所有成功数据的数组传递给 async.series
回调的第二个参数。
参见this answer有关为什么节点更喜欢错误优先回调的更多详细信息。
关于javascript - JS 异步库中的回调参数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46721604/