老师,关于下面一段代码重复太多,我想请教两个优化问题:
1、这里2个Promise.all数组里面的方法前两个都一样,因为这里面方法都是立即调用执行,怎么才能优化成通过判断条件修改数组里的执行函数,而不是写两个Promise.all。
2、then和catch里面的两行代码也是重复的,在当前业务就是有结果了就取消2个加载动画,这里可以优化成只写一次取消加载动画吗。
if (this.checkbox) {
Promise.all([
this.getSysRoleList(id),
this.getDataRoleList(id),
this.getCheckedSysRole(id)
])
.then(res => {
// 取消加载动画
this.loading = false
this.roleLoading = false
})
.catch(err => {
this.loading = false
this.roleLoading = false
})
} else {
Promise.all([
this.getSysRoleList(id),
this.getDataRoleList(id)
])
.then(res => {
this.loading = false
this.roleLoading = false
})
.catch(err => {
this.loading = false
this.roleLoading = false
})
}