- 40
- 0
现在有如下方法:
isProvid(){
return this.$store.dispatch('isSupported')
}
该方法只考虑正确返回的情况,因为其他异常通过axios的拦截器里面处理掉了,返回值里面包含一个code,如果code不为空,表示有业务错误,需要前端提示,否则表示正确。
现在有三个地方需要调用该方法,如果有错误(code不为空),所有调用方法的错误处理方式都一样——弹出alert就好,如果正确,有两个调用的地方需要自行处理,如下:
//第一处调用
this.isProvid().then(res => {
//处理A逻辑
})
//第二处调用
this.isProvid().then(res => {
//处理B逻辑
})
//第一处调用(不处理任何逻辑)
this.isProvid()
那么,isProvid应该如何封装呢?
自己的思路
isProvid(){
return this.$store.dispatch('isProvid').then(res => {
let code = res.data.code;
if(!code){//code不为空,表示有错误信息
alert('弹出根据code对应的错误信息')
return Promise.reject()//不需要返回错误信息,因为这里已经集中处理了
}else{
//如果正确,不返回任何东西,因为调用方不需要根据返回值来判断
return Promise.resolve()
}
})
}
注意:三个调用方都是以then方式来调用isProvid方法
疑问如下:
1、这么写正确么?
2、return this.$store.dispatch('isProvid')返回的就是promise,但是then里面又包含了return Promise返回promise对象,是什么意思呢?(看到有人这么写,但是不知道这么写正确不)
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
