这样做就不用再业务代码里面写 try catch了 非常好用
import { documentAddApi} from '@/apis/index.js';
import { promiseToArr } from '@/utils/common.js';
import { ElMessage } from 'element-plus';
//从接口请求那边转正常语法
export function promiseToArr(promise, errorExt = null) {
return promise
.then((data) => {
return [null, data];
})
.catch((err) => {
if (errorExt) {
Object.assign(err, errorExt);
}
return [err, undefined];
});
}
使用的时候
//点击确定新增
const documentAddFn = async () => {
const [err, res] = await promiseToArr(documentAddApi(form.value));
if (err) return ElMessage.error(err.message || '新增文书失败');
// res 里面就是数据了
ElMessage.success(res.message || '新增文书成功');
};