async function btnsubmit () { const check = checkForm() if (!check) { return } $q.loading.show({ message: '请稍等,正在保存' }) event.submitData.MyRequestFromItemList = Object.assign({}, rows.value) let result = await store.dispatch('ESourcingModule/UpdateMyRequestFormData', event.submitData) $q.loading.hide() $q.notify({ message: '新建成功!', type: 'positive', position: 'center' }) void JumpToBack() } 优化这段代码
时间: 2024-02-14 15:10:00 浏览: 60
首先,这段代码中有一个异步函数 `btnsubmit()`,可以使用 `async/await` 简化其中的异步调用。其次,可以使用 `try/catch` 块来处理异步调用可能出现的错误,以提高代码的健壮性。最后,可以将一些重复的代码封装成函数,以达到代码复用的目的。
下面是优化后的代码:
```
async function btnsubmit() {
const check = checkForm();
if (!check) {
return;
}
try {
$q.loading.show({
message: '请稍等,正在保存'
});
const submitData = {
MyRequestFromItemList: Object.assign({}, rows.value)
};
const result = await store.dispatch('ESourcingModule/UpdateMyRequestFormData', submitData);
$q.loading.hide();
$q.notify({
message: '新建成功!',
type: 'positive',
position: 'center'
});
void JumpToBack();
} catch (error) {
console.error(error);
$q.loading.hide();
$q.notify({
message: '新建失败,请重试',
type: 'negative',
position: 'center'
});
}
}
```
在优化后的代码中,使用了 `try/catch` 块来处理异步调用可能出现的错误。同时,将重复的代码封装成了 `submitData` 对象,以达到代码复用的目的。
阅读全文