当我接到API调用时,我必须安装到大约4,5个表,因为一个条目有子项,而子项又有子项。由于我必须将数据从第一个插入数据传递到第二个插入数据(使用父ID),我最终会有太多的函数(如函数insertTable1,insertTable1Kids,insertTable1KidsKids)等等。
这是好设计吗?我正在使用这么多功能让我感到困扰。有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
使用闭包和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);
};