可以有很多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); };
- 使用MariaDB批量插入和删除Waterline / Sails.js
- 等待来自Async,Protractor,nodejs的响应
- 使用stream作为Node.js中的asynchronous队列的input,如何确保queue.drain只被调用一次
- hibernate/等待,直到进程在asynchronous循环过程中完成
- 自动尝试捕捉与asynchronous等待的路由器控制器
- 我如何使用节点asynchronous来获取我的mongoose电话?
- Node.js中asynchronousrecursion的问题
- 根据rxjs中的时间处理一系列事件
- 如何把不同的请求的响应放在与nodejs相同的文档中并请求?