请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

自动重新获取令牌问题

   static async _refetch(data) {
        try {
            await User.login();
        } catch (error) {
            console.log('refetch-login', error)
        }
        data.refetch = false
        return await Http.request(data)
    }

获取令牌的时候,有可能会在重新获取令牌并且请求的过程中会发生异常,这会发生死循环的后果,就会不停发起请求,因为这个是地狱回调。
因此设置了data.refetch = false,这样下次就不会自动刷新令牌了。
但是如果两次都失败了,那怎么办?第三、第四次就不执行了?
我觉得设置成false怪怪的,因为没有后续处理了,过期的令牌就一直存在,发生错误就因为会地狱回调这个问题,所以就一直不管他了?过期的令牌也没能解决啊

正在回答 回答被采纳积分+3

1回答

沁尘 2021-08-23 17:16:06

地狱回调是啥?

如果两次都失败了,那怎么办?如果两次都失败了,说明这个接口就已经有问题了,前端再处理也没有啥意义了,需要通过日志排查问题了。

0 回复 有任何疑惑可以回复我~
  • 提问者 zippen #1
    地狱回调不就是不停重复调用一个函数咯,可能我记错名词了?
    就是  a(){ a()} ,好吧,你这个回答不错,哈哈
    回复 有任何疑惑可以回复我~ 2021-08-23 17:18:59
  • 沁尘 回复 提问者 zippen #2
    那叫回调地狱。。另外回调地狱和这个没啥关系。回调地狱是指嵌套回调,这个是函数调用方式的问题;你说的这个问题本质上是关于业务逻辑处理问题。
    回复 有任何疑惑可以回复我~ 2021-08-23 17:23:25

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信