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