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