【发布时间】:2016-06-17 13:15:52
【问题描述】:
我对 api 有以下请求:
api.get_info(name, function(err, data) {
if (err) {
return console.log(err);
}
result.push(data);
});
在这个请求中,我只响应了一个产品,但是有 10 个产品应该从 api 接收结果并发送给客户端。
我尝试在循环中添加 api 调用:
app.get('/info', (req, res) => {
let products = ["product 1", "product 2", ... "product 10"];
let full_info = [];
for (let product of products) {
api.get_info(product, function(err, data) {
if (err) {
return console.log(err);
}
full_info.push(data);
});
}
res.json(full_info);
});
现在在获得所有信息之前发送响应。 如何在什么时候得到所有数据时发送响应?
是否可以在没有 async 和 promises 的情况下实现?
【问题讨论】:
-
看起来很相似,但我试图仅通过回调找到解决方案。当然,如果可能的话,
-
在那个骗子中接受的答案提供了一个只有回调的解决方案(没有单独的库)。
标签: javascript node.js loops express