如何解决SuperAgent-未经授权,使用新的承载令牌重试原始请求
问题:
我正在尝试使用超级代理重试我的原始请求。这是一些伪:
function postRequest({
parameters
}) {
return superagent.post(url)
.set("Authorization",`Bearer ${process.env.initialToken}`)
.send({data})
.then(res => {
if (res.unauthorized) {
// I want to make a API call,get a new token,then redo postRequest() with new bearer
}
})
.catch(err => {
throw err
});
}
问题:
我注意到有些开发人员在捕获中处理此问题,其他开发人员在响应中处理。我还注意到有人使用.on
插件进行检查。
查看超级代理文档,我应该尝试自定义retry()
吗?我可以以某种方式使用request.auth('my_token',{ type: 'bearer' })
吗?这可能很简单,但是在这种用例下很难遵循他们的文档。请让我知道您的想法!
解决方法
解决方案-能够通过使用相同的初始参数再次返回对函数的调用来解决。您可以在错误处理中遵循相同的逻辑/模式。
注意-retry()API存在一些问题,无法按401的预期工作,并且插件在此用例中过大。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。