在ExpressJS应用程序上使用请求承诺模块,我想提出两个请求,但我需要从第一个请求产生的响应数据,以传递给第二个请求。
我所追求的一个例子是:
const options = {
url: 'http://api.example.com/v1/token',
method: 'GET'
};
request(options).then((response) => {
request({
url: 'http://api.example.com/v1/user',
method: 'POST',
data: { token: response.token }
}).then((final_response) => {
res.send(final_response);
});
});
我省略了错误处理以保持示例简短。我感兴趣的是将响应从一个请求传递到另一个请求的技术。
答案 0 :(得分:1)
您可以通过返回承诺来链接承诺。 类似的东西:
request(options1)
.then((response1) => {
return request(options2)
})
.then((response2) => {
return request(options3)
})
.then((final_response) => {
res.send(final_response);
});
这是一篇关于promise chaining and error handling的好文章。