我看到了一個看起來像這樣的代碼(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