2013-12-12 19 views
8

私はasync.mapを使用しようとしていますが、以下の例で何らかのunknwonの理由で コールバックを呼び出すことができません。関数dは配列rそれだけではありません。 実際にはdが呼び出されなかったかのようです。async.mapはnodejsでコールバックを呼び出さない

私は本当に何か間違ったことしなければならないが、

async = require('async'); 
a= [ 1,2,3,4,5]; 
r=new Array(); 

function f(callback){ 
    return function(e){ 
     e++; 
     callback(e);} 
} 

function c(data){ r.push(data); } 

function d(r){ console.log(r);} 

async.map(a,f(c),d); 

はあなたの助け

+0

するvar FC = F(C)に前もって感謝するかを把握することはできません。 // fcコールバックパラメータがありません、その問題 – damphat

答えて

14
var async = require('async'); 

//This is your async worker function 
//It takes the item first and the callback second 
function addOne(number, callback) { 
    //There's no true asynchronous code here, so use process.nextTick 
    //to prove we've really got it right 
    process.nextTick(function() { 
    //the callback's first argument is an error, which must be null 
    //for success, then the value you want to yield as a result 
    callback(null, ++number); 
    }); 
} 

//The done function must take an error first 
// and the results array second 
function done(error, result) { 
    console.log("map completed. Error: ", error, " result: ", result); 
} 

async.map([1,2,3,4,5], addOne, done); 
関連する問題