現(xiàn)在有如下方法:isProvid(){ return this.$store.dispatch('isSupported')}該方法只考慮正確返回的情況,因為其他異常通過axios的攔截器里面處理掉了,返回值里面包含一個code,如果code不為空,表示有業(yè)務(wù)錯誤,需要前端提示,否則表示正確?,F(xiàn)在有三個地方需要調(diào)用該方法,如果有錯誤(code不為空),所有調(diào)用方法的錯誤處理方式都一樣——彈出alert就好,如果正確,有兩個調(diào)用的地方需要自行處理,如下://第一處調(diào)用this.isProvid().then(res => { //處理A邏輯})//第二處調(diào)用this.isProvid().then(res => { //處理B邏輯})//第一處調(diào)用(不處理任何邏輯)this.isProvid()那么,isProvid應(yīng)該如何封裝呢?自己的思路isProvid(){ return this.$store.dispatch('isProvid').then(res => { let code = res.data.code; if(!code){//code不為空,表示有錯誤信息 alert('彈出根據(jù)code對應(yīng)的錯誤信息') return Promise.reject()//不需要返回錯誤信息,因為這里已經(jīng)集中處理了 }else{ //如果正確,不返回任何東西,因為調(diào)用方不需要根據(jù)返回值來判斷 return Promise.resolve() } })}注意:三個調(diào)用方都是以then方式來調(diào)用isProvid方法疑問如下:1、這么寫正確么?2、return this.$store.dispatch('isProvid')返回的就是promise,但是then里面又包含了return Promise返回promise對象,是什么意思呢?(看到有人這么寫,但是不知道這么寫正確不)
如何合理的封裝一個Promise對象?
四季花海
2019-03-15 18:15:05