我需要发出2个http请求 - 第一个请求的响应将在第二个中使用。我执行请求的方式是使用 http 模块中的http.get(url, callback)
方法。但我假设nodejs为第二个http请求生成另一个线程,并且响应异步到达。我做的是将第二个http请求放在第一个http回调中,它可以工作,但看起来像是不可维护的代码。
还有其他方法吗?
答案 0 :(得分:2)
晚会但只是重申Dhaval Soni说的话。如果您拥有async / await
语法,那么最简单的解决方案如下:
// inside "async" function
const asyncResult1 = await requestPromise(`${rootUrl}/posts/1`)
const asyncResult2 = await requestPromise(`${rootUrl}/albums/${asyncResult1.id}`)
注意第一个异步请求的结果如何用于发出第二个异步请求。