NodeJS + 请求拦截传出请求

isl*_*aki 5 request node.js

我目前正在使用request为我的一些 REST API 端点调用外部服务提供商。我有一个消费者密钥和秘密,我可以使用它们来获取令牌,然后将其附加到每个请求。

而不是链接两个操作(获取/刷新)令牌然后请求(我使用基于承诺的请求版本)(请参见下面的代码)。我想添加一个全局拦截器,它将拦截每个传出的请求,获取或刷新令牌,然后将其附加到请求。

getToken().
   then(function (token) {
        return request({
              url: url,
              headers: { Authorization: `Bearer ${token}` }
        });
   })
   .then(function (data) { do things here})
Run Code Online (Sandbox Code Playgroud)

关于如何实现它有什么想法吗?

谢谢