如何阻住Promise中的.then方法!

今天接手了一个别人的项目,存在一些问题,老大让我更改修改一下!
前提条件:一个用户只能一处登录,后台返回值中没有code码,只有没有检测有木有登录的接口有返回code码!
问题:A人员登录了用户1,准备提交一个表单,正好这个时候另一个B人员再次登录用户1的账号,
此时A人员点击提交按钮,此时A人员界面弹窗两个
①用户未登录
②提交成功

解决方案:
在封装请求的js中在此添加一个前置条件,
每次发送请求时,都首先发送有木有登录的那个接口。

let a =  await fetch(`${local}/task/loginCheck`,{
      headers : {
        Accept: 'application/json',
        'Content-Type': 'application/json;charset=utf-8',
        Authorization:token,
      } ,
      method : 'GET'
      }).then(res=>{
        return res.text()
      })
     
      if(a=='ok'){
        return axios(url,newOptions,hashcode)
      }else{
        let data2 = JSON.parse(a);
   
        if(data2.code == 102 && accumulation==0){
      
          accumulation++
            error(data2.msg);
            router.push('/user/login');
            return Promise.reject('错误');
        }else{
     
          accumulation++
            error(data2.msg);
            router.push('/user/login');
         return Promise.reject('错误');  这里很重要很重要
         为了就是让请求页面中.then 方法失效
        }
        
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值