node.jscallback函数dynamodb

伙计们,我正在编写一个API函数,需要对后端DynamoDB表进行多次调用。 返回的JSON结果需要合并,然后作为单个响应返回给调用者。 我怎么会写这个,因为我似乎不完全写这个asynchronous…

到目前为止,我已经能够编写函数来进行一个调用,然后返回它。 我将如何编程第二个db.query?

var restify = require('restify'); var fs = require('fs'); var AWS = require('aws-sdk'); AWS.config.update({region: 'us-east-1'}); var db = new AWS.DynamoDB(); module.exports = { license: function (req, res, next) { var params = { TableName : 'tableA', KeyConditions : { "myHashKey": { "AttributeValueList" : [ { "S" : "1" } ], "ComparisonOperator" : "EQ" }, "myRangeKey" : { "AttributeValueList" : [ { "S" : req.params.rangekeyA } ], "ComparisonOperator" : "EQ" } } } data = db.query(params, function(err, data) { if (err) { console.log(err); } else { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain; charset=UTF-8'); res.send(JSON.stringify(data, undefined, 2)); res.end(); } }); return next(); }, }; 

是async.js https://github.com/caolan/async我应该看看?

而不是发送这个信息回到这一行:

 res.send(JSON.stringify(data, undefined, 2)); 

定义下面的另一个函数,比如:

 function nextDBQuery(data) //query db, do more stuff, yada yada, //pass on to another similar function } 

并在那里发送你的数据:

 nextDBQuery(data); 

基本上,而不是res.send()你的第一组数据,传递给另一个函数,或者只是做所有的工作,并有很多的callback。