2
var async = require("async");
async.map([
"a",
"b",
"c"
], function(thing, callback) {
console.log(thing + "-something");
callback();
},
function(err, results){
if (err) return console.error(err);
console.log(results);
});
我現在的結果:
a-something
b-something
c-something
[ undefined, undefined, undefined ]
我想要的結果:
[ a-something, b-something, c-something ]
難道你們告訴我,我得到了?我如何訪問回調中的結果對象?
這工作!感謝Oleg。我想再打擾一個問題,我是JavaScript和節點的新手,我發現文檔難以閱讀。如何在沒有任何參數被傳入的情況下使用callback()也能起作用。請問我可以參考顯示回調的文檔(null,returnValue) – samol
@SidneySidaZhang:這是您應該查看的文檔部分:https ://github.com/caolan/async#maparr-iterator-callback。 callback()也適用的原因是因爲JavaScript對傳遞給函數的參數數量並不嚴格(任何未傳遞的參數都被視爲未定義的)。異步庫遵循訴訟,並選擇放寬要求的參數,所以如果你不傳入任何東西,它假定沒有錯誤,並且像你看到的那樣,將未定義的數據傳遞給最後一個回調函數。 –
非常感謝! – samol