优化这段代码 let apiFunc, data; switch (this.form.productType) { case 1: apiFunc = BatchEndorseAPI.ticketList; data = this.ticketData(); break; case 3: apiFunc = BatchEndorseAPI.theatreList; data = this.theatreData(); break; default: return; } apiFunc({ ...data, pageSize: this.pagination.pageSize, pageNum: this.pagination.pageNum, }).then((res: any) => { this.loading = false; if (res.code == 200) { this.tbData = res.data.list; this.pagination.totalCount = res.data.total; } else { this.$message.error(res.msg); } });
时间: 2024-02-14 13:07:17 浏览: 24
这段代码已经比之前进行了优化,但是还有一些可以改进的地方。可以使用async/await语法,使代码更加简洁易读。代码如下:
```
async function fetchData(apiFunc, data) {
try {
const res = await apiFunc({...data, pageSize: this.pagination.pageSize, pageNum: this.pagination.pageNum});
this.loading = false;
if (res.code === 200) {
this.tbData = res.data.list;
this.pagination.totalCount = res.data.total;
} else {
this.$message.error(res.msg);
}
} catch (error) {
this.loading = false;
this.$message.error(error.message);
}
}
switch (this.form.productType) {
case 1:
await fetchData(BatchEndorseAPI.ticketList, this.ticketData());
break;
case 3:
await fetchData(BatchEndorseAPI.theatreList, this.theatreData());
break;
default:
return;
}
```
这样可以使用try/catch捕获异常,使代码更加健壮,同时也减少了冗余的重复代码。