1

当我收到 API 调用时,我必须安装到大约 4,5 个表,因为一个条目具有子项,而子项又具有子项。由于我必须将数据从第一个插入传递到第二个插入(使用父 ID),我最终有太多函数(如函数 insertTable1、insertTable1Kids、insertTable1KidsKids)等等。

这是好设计吗?我正在使用这么多功能让我很困扰。有没有更好的方法来处理这个问题?

4

1 回答 1

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);
};
于 2013-06-24T18:46:17.587 回答