Javascript Node.JS中带迭代的异步调用

Javascript Node.JS中带迭代的异步调用,javascript,node.js,express,async-await,iteration,Javascript,Node.js,Express,Async Await,Iteration,我正在做一个练习题来熟悉Node。我设置了我的应用程序、路由,并且还有一个控制器 我使用一个外部API并传入不同的ID,并且(稍后)我想将响应与传递给我正在编写的API的给定值进行比较。因此,我迭代一组ID,并将它们传递给api调用(通过选项中的路径),以收集所有响应 我总是被老的例子和文档弄糊涂。。。有一段时间,我一直试图用承诺来实现它,直到我读到异步 /** *控制器 */ constURL='api.outsidesite.com'; const http=require('http')

我正在做一个练习题来熟悉Node。我设置了我的应用程序、路由,并且还有一个控制器

我使用一个外部API并传入不同的ID,并且(稍后)我想将响应与传递给我正在编写的API的给定值进行比较。因此,我迭代一组ID,并将它们传递给api调用(通过选项中的路径),以收集所有响应

我总是被老的例子和文档弄糊涂。。。有一段时间,我一直试图用承诺来实现它,直到我读到异步

/**
*控制器
*/
constURL='api.outsidesite.com';
const http=require('http');
ProductId=[
1, 2, 3, 4, 5, 6, 7, 8, 9
];
常量选项={
主机名:url,
路径:'/v1/items/${productid}?format=json&apiKey=${apiKey}',
方法:“GET”,
超时:10000
};
exports.findOne=(请求、响应)=>{
const req=http.request(选项,res=>{
res.on('data',chunk=>{
response.send(chunk);
});
});
请求开启('error',e=>{
控制台错误(e);
});
请求结束();

};从节点8.4开始,我强烈建议使用本机异步/await。
不再需要库,干净的代码易于调试和跟踪堆栈跟踪。不再使用bluebird,但您仍然可以使用Promiss实现同步功能,如fs和rimraf等。

请注意,
async
/
wait
仍然是承诺。这只是
然后
调用的糖分。“在我读到异步之前,我一直试图用承诺来实现它”-你是指
async
/
wait
语法,还是
async.js
库?请注意,promise比asnyc库现代得多。@Bergi我指的是语法,起初我被库偏离了方向,但后来意识到它被集成到了节点本身中。我只是想尝试使用async/await的最新语法