节点js串行http请求

时间:2016-11-17 11:23:10

标签: javascript node.js http https request

我需要发出2个http请求 - 第一个请求的响应将在第二个中使用。我执行请求的方式是使用 http 模块中的http.get(url, callback)方法。但我假设nodejs为第二个http请求生成另一个线程,并且响应异步到达。我做的是将第二个http请求放在第一个http回调中,它可以工作,但看起来像是不可维护的代码。

还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

晚会但只是重申Dhaval Soni说的话。如果您拥有async / await语法,那么最简单的解决方案如下:

// inside "async" function

const asyncResult1 = await requestPromise(`${rootUrl}/posts/1`)

const asyncResult2 = await requestPromise(`${rootUrl}/albums/${asyncResult1.id}`)

注意第一个异步请求的结果如何用于发出第二个异步请求。