继续爆肝继续干 2022-09-26 23:26 采纳率: 33.3%
浏览 28

添加数据保证不能与后台返回的原数据重复

最近做的项目:需要实现添加属性值的时候不能与后台原数据有重复的

img

代码如下:


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()
    
  }


这里的同步异步给我整混淆了,各位能帮忙看看,这种情况怎么解决吗?

  • 写回答

1条回答 默认 最新

  • MAXLZ 2022-09-26 23:52
    关注

    使用了await,后面就不需要then了,直接使用变量接收函数返回值即可。这两个查询重复的请求可以使用Promise.all同时发送

    评论

报告相同问题?

问题事件

  • 创建了问题 9月26日

悬赏问题

  • ¥50 带防重放token(Antireplay-Token)的网站怎么用Python发送请求
  • ¥15 visa版本没问题,串口调试助手调试串口正常使用,但是labview刷新不出来
  • ¥15 java MQTT SSL证书
  • ¥20 求一个手机号或者Wxid转微信号的工具
  • ¥20 msconfig开启安全引导后重启电脑黑屏
  • ¥15 对email表单做了一般邮箱正则校验,现在需要额外输入为hotmail或outlook、gmail时做特定邮箱校验,不符合提示出来。并且保证不影响其他正确的邮箱格式通过校验,通过不会提示。
  • ¥20 Win11,bitblocker密钥恢复失败
  • ¥15 stm32 cubemx配置sdram,初始化后无法读写sdram
  • ¥100 上位机到dtu再到485继电器模块 目前结束命令有百分之2左右概率执行失败求指导
  • ¥15 ifcopenshell库在vs2019下的配置