如何阻住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 方法失效
        }
        
      }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章