可以有很多function(超过10)来处理Node的asynchronous性质(特别是在添加到MySql数据库时)

当我得到一个API调用时,我必须安装到大约4,5个表,因为一个条目具有子项目,而子项目又具有子项目。 因为我必须将数据从第一个插入到第二个(使用父ID),我最终有太多的function(如functioninsertTable1,insertTable1Kids,insertTable1KidsKids)等等..

这是不错的devise? 这让我很担心,我正在使用这么多的function。有没有更好的方法来处理这个问题?

使用闭包和async模块。

 npm install async 

你的代码看起来像这样…

 var async = require('async'); exports.your_route = function(req, res) { var parent_id = req.query.parent_id; var calls = []; calls.push(function(callback) { // insertTable1 - use parent_id callback(false); }); calls.push(function(callback) { // insertTable1Kids - use parent_id callback(false); }); calls.push(function(callback) { // insertTable1KidsKids - use parent_id callback(false); }); calls.push(function(callback) { // return response res.send("tabels for parent ID: "+parent_id+" created); callback(false); }); async.series(calls); };