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