最近做的项目:需要实现添加属性值的时候不能与后台原数据有重复的
代码如下:
const onFinishForm = async (modelstates: any) => {
modelstates.value.tags = states.tags
if (modelstates.value._id) {
await updateAw(`/api/hlfs/${modelstates.value._id}`, modelstates.value)
await query(formState)
message.success("Modified successfully")
} else {
let typeName=ref(true)
// 查询是否重复description
await query({search:modelstates.value.description}).then(res=>{
if(res.length>0){
if(res[0].description===modelstates.value.description){
typeName.value=false
}
}
return
})
let typeDscription=ref(true)
// 查询是否重复名称
await query({q:`name.keyword:${modelstates.value.name}`,search:''}).then(res=>{
console.log(res);
if(res.length>0){
typeDscription.value=false
}
return
})
console.log(typeName.value && typeDscription.value);
if(typeName.value && typeDscription.value){
delete modelstates.value._id
// 添加的函数
await saveAw(modelstates.value)
}else{
message.error("Duplicate name or description")
visible.value = true;
}
}
visible.value = false;
clear()
}
这里的同步异步给我整混淆了,各位能帮忙看看,这种情况怎么解决吗?