2013-03-05 2 views
0

async을 사용하여 하나씩 node.js 응용 프로그램을 호출합니다."개체가 함수가 아닙니다"오류가 있습니까?

TypeError: object is not a function

나는 커피 스크립트입니다 다음 코드 (사람이 그것을 원한다면 내가 자바 스크립트를 얻을 수 있습니다)이 있습니다 :

나는 폭포의 두 번째 계층으로 이동하려고 어떤 이유로, 내 응용 프로그램은 다음과 같은 오류가 발생합니다
async.waterfall([ 
    (callback) => 
     console.log 'call getSurveyTitle' 
     @getSurveyTitle (surveyTitle) => 
      fileName = 'Results_' + surveyTitle + '_' + dateString + '.csv' 
      filePath = path.resolve process.env.PWD, 'static', @tempDir, fileName 
      csv.to(fs.createWriteStream(filePath)) 
      callback(null, null) 
    , 
    (callback) => 
     @createHeaderRow (headerRow) => 
      headerText = _.map headerRow, (row) => 
       row.text 
      csv.write headerText 
      console.log 'before' #gets here and then throws error 
      callback(null,headerRow) 
    , 
    (headerRow, callback) => 
     console.log 'after' 
     @createRows headerRow, (callback) => 
      callback(null,null) 
    ], (err, result) => 
     console.log "waterfall done!" 
    ) 

임 노드와 비동기에 상당히 익숙하지 않아서 나는 뭔가 명백한 것을 간과하고있다. 누구든지이 오류가 발생할 수있는 일을 볼 수 있습니까? waterfall를 들어

답변

4

, 1 error 후 어떤 callback 인수가 null의 포함, 다음 작업으로 전달됩니다 : 당신은 다음 작업으로 전달 된 값을 원하지 않는 경우

async.waterfall([ 
    (callback) => 
     callback(null, null, null) 
    , 
    (callback) => 
     console.log callback # null 
     console.log arguments # { 0: null, 1: null, 2: [Function], length: 3 } 
]) 

, 단지 callback 전화 단지 error 인수 :

callback(null) 

또는 1 인자 때문에 callback의 이름을 설정은 2이다 :

(_, callback) => 
    @createHeaderRow (headerRow) => 
     # ... 
+0

감사합니다. 두 번째 계층이 인수를받지 않을 때 null 인수를받는 것입니다. –

+0

@AbeMiessler 글쎄, "* should *"는 당신에게 달렸습니다. 하지만, 예, 그것은 현재 기대하지 않는 'null'인수를 받고 있습니다. –

관련 문제