当前位置: 首页 > Web前端 > vue.js

【js】不使用trycatch,优雅处理await错误的情况

时间:2023-04-01 11:26:29 vue.js

constres=awaitjiekou(params);if(res.code===0){//执行代码}else{//错误处理}类似场景:如果jiekou报500,就不会去下面的if判断,相应的代码也不会执行。解决方法://写一个方法执行原操作,如果有错误返回[err],如果没有错误返回[null,res]functiongetAwaitResult(promise){returnpromise.then(res=>{return[null,res]];}).catch(err=>[err]);}useconst[err,res]=awaitgetAwaitResult(jiekou(params));if(err){//比如加载应该此处不显示this.loading=false;this.$message.error(String(err));return;}//稍后对res进行正常操作if(res.code===0){this.imageList=res.data.list;this.total=res.data.total;}else{this.$message.error(res.msg);}参考:https://blog.grossman.io/how-...