小a优化这段代码://弹窗确定后取消培训 const dialogTrainingCancel = async () => { let sumbit = JSON.parse(JSON.stringify(form.data)); sumbit.trainStatus = 0; sumbit.workshopId = null; sumbit.workshopName = null; sumbit.productionLineId = null; sumbit.productionLineName = null; sumbit.postId = null; sumbit.postName = null; sumbit.certificationLevel = null; sumbit.trainStartTime = null; sumbit.trainEndTime = null; sumbit.trainingDays = null; sumbit.team = null; let resMsg = await personnelTrainUpdate(sumbit); if (afterSubmit(resMsg)) { uni.switchTab({ url: "/pages/tabPages/allPages/index", success:() =>{ uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index", }); } }) } }
时间: 2024-02-24 10:58:20 浏览: 71
可以优化的地方有:
1. 对 `form.data` 进行深拷贝可以使用更简洁的方式,如 `let sumbit = {...form.data};` 或 `let sumbit = Object.assign({}, form.data);`。
2. 对 `sumbit` 对象的多个属性进行赋值可以使用对象解构赋值,如 `let { trainStatus, workshopId, workshopName, ...rest } = sumbit;`。
3. 对 `sumbit` 对象的多个属性进行赋值可以使用对象解构赋值,如 `let { trainStatus, workshopId, workshopName, ...rest } = sumbit;`。
4. 对 `uni.switchTab` 和 `uni.navigateTo` 进行链式调用可以使用 `Promise.all`,如:
```
Promise.all([
uni.switchTab({ url: "/pages/tabPages/allPages/index" }),
uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index" })
]).then(() => {
// 成功的回调函数
}).catch(() => {
// 失败的回调函数
});
```
综上所述,可以将代码优化为:
```
const dialogTrainingCancel = async () => {
let sumbit = {...form.data};
let { trainStatus, workshopId, workshopName, ...rest } = sumbit;
let resMsg = await personnelTrainUpdate({...rest, trainStatus: 0, workshopId: null, workshopName: null});
if (afterSubmit(resMsg)) {
Promise.all([
uni.switchTab({ url: "/pages/tabPages/allPages/index" }),
uni.navigateTo({ url: "/pages/qualityPages/personnelTrain/index" })
]).then(() => {
// 成功的回调函数
}).catch(() => {
// 失败的回调函数
});
}
}
```
阅读全文