Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript SuperAgent-未经授权时使用新的承载令牌重试原始请求_Javascript_Ajax_Authorization_Superagent - Fatal编程技术网

Javascript SuperAgent-未经授权时使用新的承载令牌重试原始请求

Javascript SuperAgent-未经授权时使用新的承载令牌重试原始请求,javascript,ajax,authorization,superagent,Javascript,Ajax,Authorization,Superagent,问题: 我正在尝试使用superagent重试我的原始请求。以下是一些伪消息: 函数postRequest({ 参数 }) { 返回superagent.post(url) .set(“授权”`Bearer${process.env.initialToken}`) .send({data}) 。然后(res=>{ 如果(未经授权){ //我想进行一个API调用,获取一个新的令牌,然后使用新的载体重做postRequest() } }) .catch(错误=>{ 失误 }); } 问题: 我注意

问题:

我正在尝试使用superagent重试我的原始请求。以下是一些伪消息:

函数postRequest({
参数
}) {
返回superagent.post(url)
.set(“授权”`Bearer${process.env.initialToken}`)
.send({data})
。然后(res=>{
如果(未经授权){
//我想进行一个API调用,获取一个新的令牌,然后使用新的载体重做postRequest()
}
})
.catch(错误=>{
失误
});
}
问题:

我注意到一些开发人员在catch中处理这个问题,其他人在响应中处理。我还注意到一些人使用插件上的
.on进行检查


查看superagent文档,我是否应该尝试自定义的
重试()
?我能否以某种方式使用
request.auth('my_token',{type:'bearer'})
?这可能很简单,但是很难按照他们的文档来处理这个用例。请让我知道你的想法

解决方案-只需使用相同的初始参数再次返回对函数的调用即可解决问题。您可以在错误处理中遵循相同的逻辑/模式


注意-retry()API存在一些问题,这些问题在401中无法正常工作,并且插件在这个用例中使用过度。

解决方案-可以通过使用相同的初始参数再次返回函数调用来解决。您可以在错误处理中遵循相同的逻辑/模式

注意-retry()API存在一些问题,不能像401预期的那样工作,并且对于这个用例来说,插件的杀伤力太大了