使用异步请求多个网址
Request Multiple URL with Async
我正在使用ExpressJS创建我的第一个节点应用程序,我对如何使用请求和异步请求多个url感到困惑。 我在下面的代码吐出以下错误,"chart1 未定义"。
router.get('/', function(req, res) {
async.parallel([
function(next) {
apiRequestGoesHere(chart1, function(error) {
request.get('http://203.33.33.44:8080/reports/43?type=0&key=fakekey'),
next(null, firstData);
});
},
function(next) {
anotherApiRequest(chart2, function(error) {
request.get('http://203.33.33.44:8080/reports/42?type=0&key=fakekey'),
next(null, secondData);
});
}],
function(err, results, firstData, secondData) {
// results is [firstData, secondData]
res.render('index', {
title: 'Home KP',
firstData: chart1
});
});
});
有人可以向我解释如何定义这些并使其工作吗?
您的回调不会在任何地方定义chart1
。也许你想检查results[0]
?
使用 async.parallel,results
变量以相同的顺序包含所有函数的结果。当你调用 next(null, firstData)
时,你告诉 async 将 firstData
的值放入 results
数组中,并且由于该函数是第一个函数,它将进入results[0]
(下一个是 results[1]
等)。
相关文章:
- 如何使用异步模块的请求
- Node.js cors请求-异步示例不起作用
- 如果需要登录,Angularjs$http拦截器会暂停异步请求
- 使用异步模块的Express + Mongoose请求处理程序的更简洁的方法
- 将 jQuery UI 日期选择器与异步 AJAX 请求一起使用
- Angularjs的异步API请求
- NodeJS无法异步发出GET请求
- RxJS异步请求更新
- 异步HTTP(ajax)请求在脚本标记中有效,但在js文件中无效
- Node js中间件,用于向mongo发出异步请求
- AJAX-如何在不冻结浏览器的情况下逐个发出异步请求
- 从CORS请求中捕获异步异常
- 如何等待异步请求完成
- 异步xml请求不会;t返回
- 在继续之前,请确保异步GET/POST请求已完成
- 如何像Ember.js那样抽象ajax请求的异步行为
- 异步http请求服务
- 为什么Chrome似乎异步请求Javascript文件
- 使用异步请求多个网址
- 如何使 AJAX 请求异步