如何将请求响应传递给另一个请求

How to pass a request response to another request?

本文关键字:请求 另一个 响应      更新时间:2023-09-26

在 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);
    });
});

我省略了错误处理以保持示例简短。我的兴趣是一种将响应从一个请求传递到另一个请求的技术。

您可以通过返回承诺来链接承诺。像这样:

request(options1)
  .then((response1) => {
    return request(options2)
  })
  .then((response2) => {
    return request(options3)
  })
  .then((final_response) => {
    res.send(final_response);
  });

这是一篇关于承诺链接和错误处理的好文章。