我看到了一个看起来像这样的代码(Pro Node)。它使用async
库。JS异步库中的回调参数是做什么的?
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)
。
如果我删除所有这些行,当我运行的代码它只返回:
Task 1
什么第一和第二个参数做和为什么是第二个参数1
,2
和3
?
你知道什么回调没有async.js吗?你知道本地节点函数中的回调是如何工作的吗? – Bergi
@Bergi,我不熟悉。我在过去使用'fetch'时使用了回调函数,但是我还没有探究过它。我不确定这是一个异步的事情还是更广泛的JavaScript事情。 – Iggy
在这种情况下,您首先需要阅读更通用的教程 - 那里有几十个关于回调如何在nodejs中工作的例子 - 例如[这一个](https://eloquentjavascript.net/20_node.html)。有关节点回调为何具有两个参数的信息,请参阅[此问题](https://stackoverflow.com/q/40511513/1048572) – Bergi