2012-06-25 5 views
0

node.js에 async 유틸리티를 사용하려고합니다. 아래는 제 코드입니다. 콘솔은 "In my func1"및 "In my func2"를 인쇄합니다. , callback의 첫 번째 인수가 오류가Node.js의 비동기 유틸리티 콜백 함수가 실행되지 않습니다.

var myfunc1 = function(callback) { 
    var a = 1; 
    console.log ("In my func1"); 
    callback(null, 'test'); 
}; 

: 나는 또한 인쇄 "FUNC 다시 전화"를 기대하지만, 예를 들어,

당신은 callback 인수를 사용할 필요가
var myfunc1 = function(callback) { 
var a = 1; 
console.log ("In my func1"); 
}; 
var myfunc2 = function(callback) { 
var b = 2; 
console.log ("In my func2"); 
}; 

models.Picture.prototype.relativeSort = function(viewer_location) { 
console.log("Rel Sort"); 

var sortedPics = []; 
var relsortedPics = []; 

// Finds all the pictures 
async.series([myfunc1(), myfunc2()], 
function(err, results){ 
    if(err) { 
     throw err; 
    } 
console.log("call back func"); 
    return a+b; 
    }); 
}; 

답변

2

을 won'nt 두 번째는 최종 핸들러에 전달하려는 결과입니다. 나는 다른 실수를 놓친

편집 할 수 있습니다. 이 줄은 :

async.series([myfunc1(), myfunc2()], 

당신은 전화 기능에 안되는

async.series([myfunc1, myfunc2], 

해야한다. async에게 "이봐,이 기능들을 가져 와서 그들과 비동기 적으로 행동하라!"라고 말하고 있습니다.

+0

작동하지 않습니다 ... 라인 콜백 (null, 'test')에서 오류가 발생했습니다. 500 TypeError : undefined가 함수가 아닙니다. – LivingThing

+0

@LivingThing 답변을 업데이트했습니다. – freakish

+0

감사합니다. 일했다 :) – LivingThing

관련 문제