TypeError:undefined不是node.js / express.js中的函数

我得到了以下错误:TypeError:undefined不是一个函数

callback(null,array_reply,threadResults);

这部分看起来不好,但我不知道为什么。

我需要你的帮助。 谢谢

async.waterfall([ function (callback) { Model.find() .limit(10) .sort({pushed_date: 'desc'}) .exec( function (err, results) { if (err) { log('Error: ' + err.message); callback(err); return; } var array_reply = new Array(); async.forEachSeries(results, function (result, callback) { var reply = result.replies[result.replies_count]; array_reply.push(reply); },callback); callback(null, array_reply); }); }, function (array_reply, callback) { Model.find() .limit(10) .sort( {replies_count: 'desc'} ) .exec( function (err, results) { if (err) { callback(err); return; } callback(null, array_reply, results); }); } ], function (err, array_reply, results) { if (err) { console.error("Error!"); return next(err); } res.render("aaa.hbs",{ models: results, posts: array_reply }); }) 

我改变了我的源代码。

 async.waterfall([ function (callback) { Model.find() .limit(10) .sort({pushed_date: 'desc'}) .exec( function (err, results) { if (err) { log('Error: ' + err.message); callback(err); return; } var array_reply = new Array(); async.forEachSeries(results, function (result, callback) { var reply = result.replies[result.replies_count]; array_reply.push(reply); },callback); callback(null, array_reply); }); }, function (array_reply, callback) { Model.find() .limit(10) .sort( {replies_count: 'desc'} ) .exec( function (err, results) { if (err) { callback(err); return; } if (results.length > 0) { res.render("aaa.hbs",{ models: results, posts: array_reply }); } else { res.render("aaa.hbs",{ models: null, posts: array_reply }); } }); } ], function (err) { if (err) { console.error("Error!"); return next(err); } }) 

有callback双重调用(可能会导致问题):

 async.forEachSeries(results, function (result, callback) { var reply = result.replies[result.replies_count]; array_reply.push(reply); },callback); callback(null, array_reply); 

我想可能是这样的:

 async.forEachSeries(results, function (result, callback) { var reply = result.replies[result.replies_count]; array_reply.push(reply); }, function(err) { callback(err, array_reply); });