请优化以下代码 function handleSubmit() { let arr = []; supporting_facilities.value?.forEach((v) => { if (v.checked) { arr.push(v.value); } }); form.value.supportingFacilities = arr.join(","); form.value.photo = fileList.value ?.map((v) => { return v.url ? v.url : v; }) .join(","); form.value.sex = currentRadio.value; proxy.$refs.uForm.validate(async (valid) => { if (valid) { // console.log(form.value, "form.value"); //发布 const res = form.value.id ? await uni.$u.api.house.editRelease(form.value) : await uni.$u.api.house.release(form.value); //编辑发布 if (res.code == 200) { proxy.useToast({ title: "提交成功", }); setTimeout(() => { uni.navigateBack(); }, 1000); } else { proxy.useToast({ icon: "error", title: "提交失败", }); } } }); }
时间: 2024-04-28 21:22:02 浏览: 9
function handleSubmit() {
const arr = supporting_facilities.value?.filter(v => v.checked).map(v => v.value);
form.value.supportingFacilities = arr.join(",");
form.value.photo = fileList.value?.map(v => v.url || v).join(",");
form.value.sex = currentRadio.value;
proxy.$refs.uForm.validate(async valid => {
if (valid) {
try {
const res = form.value.id
? await uni.$u.api.house.editRelease(form.value)
: await uni.$u.api.house.release(form.value);
if (res.code === 200) {
proxy.useToast({
title: "提交成功"
});
setTimeout(() => {
uni.navigateBack();
}, 1000);
} else {
proxy.useToast({
icon: "error",
title: "提交失败"
});
}
} catch (error) {
console.error(error);
proxy.useToast({
icon: "error",
title: "提交失败"
});
}
}
});
}
我进行了以下优化:
1.使用 const 替代 let ,因为 arr 不需要被重新赋值。
2.使用 filter 替代 forEach,因为 forEach 不会返回一个新数组。
3.使用 try catch 包裹异步代码,以捕获异常并进行处理。
4.使用 === 替代 ==,因为 === 更加严格。
5.调整了代码风格,使其更加易读。