use*_*041 1 javascript node.js express
我目前正在建设一个小节点应用,使得一些API调用,使与它的图表的网页.我使用的快递和玉石为渲染引擎.
问题是我对javascript很新,我不知道如何计算我的http请求,所以当有多个请求时,我可以传递我从api(http get)获得的变量对象.我不知道如何将它映射出尽一个单一的对象,并将其发送到玉渲染引擎.
这是我到目前为止:
app.get('/test', function(req, res) {
apiRequestGoesHere(name, function(error, profile) {
//Get some data here
});
anotherApiRequest(tvshow, function(error, list) {
//Get some data here
});
res.render('test', data);
});
Run Code Online (Sandbox Code Playgroud)
因为它是现在,页面呈现和请求都还没有做,如果我把里面的请求的一个res.render,我无法访问对方的数据.
所以,我要的是一个方法来设定,让我可以有多个API调用,然后做一个对象出了什么从REST API返回给我一些元素,并将其发送给玉这样我就可以使用的数据页.
你可能想使用异步,以帮助这一点. async.parallel对于像这样简单的事情是一个很好的选择:
app.get('/test', function(req, res) {
async.parallel([
function(next) {
apiRequestGoesHere(name, function(error, profile) {
//Get some data here
next(null, firstData);
});
},
function(next) {
anotherApiRequest(tvshow, function(error, list) {
//Get some data here
next(null, secondData);
});
}], function(err, results) {
// results is [firstData, secondData]
res.render('test', ...);
});
});
Run Code Online (Sandbox Code Playgroud)
这些函数的第一个参数next应该是一个错误(如果相关的话)(我把它null) - 一旦用错误调用一个函数,最后的函数将被调用同样的错误,其余的回调将被忽略.
| 归档时间: |
|
| 查看次数: |
4058 次 |
| 最近记录: |