【发布时间】:2018-07-21 02:38:44
【问题描述】:
我对Node非常陌生,希望有人能提供帮助。 我有 2 个在我的项目外部的 API。 我想在我的 Node Express 服务器中创建一个端点,该端点返回两个调用的结果。 我该怎么做?
到目前为止,我想出了如何像这样调用外部资源,
app.use('/myapi', function(req, res) {
var url = 'https://some-service.com/api1';
res.setHeader('content-type', 'application/json');
req.pipe(request(url)).pipe(res);
});
这会将结果返回给我的应用程序。我想不通的是如何进行第二次调用,然后将结果组合成这样的对象,
{ response1, response2 }
有谁知道如何做到这一点,或者指出我正确的方向? 还有一种方法可以在向我的应用程序发送响应之前确保两个调用都成功。
谢谢。
【问题讨论】:
-
我相信您将不得不使用 Promise 库的方法来执行此操作,例如“Promise.all”。它接受一组 promise 对象并使用一组结果进行解析。
-
将请求转置为
async,得到两个请求await。 -
相信我,你会在互联网上找到很多关于如何做到这一点的文章。