非同期を使用してメソッドを次々に呼び出すnode.jsアプリケーションがあります。何らかの理由で、ウォーターフォールの2番目の層に移動しようとすると、アプリケーションは次のエラーをスローします。
TypeError:オブジェクトは関数ではありません
私はcoffeescriptである次のコードを持っています(誰かがそれを望むなら私はjavascriptを得ることができます):
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!"
)
私はノードと非同期にかなり慣れていないので、明らかな何かを見落としているような気がします。誰かが私がこのエラーを引き起こす可能性のあることをしているのを見ることができますか?