收藏
回答

插入数据时怎样判断表中是否已存在相同名称?

我以为这样return可以停止程序向下运行,但是没起作用,有人说是异步 问题,但不懂怎么改,

请教一下怎么改才能判断表中有存在一样名字的就停下运行?谢谢 

create: function () {

    if (!this.data.titleshow{

      wx.showToast({

        title: '请填写标题~',

        icon: 'none'

      });

      return;

    }


        db.collection(kinds).where({

       title:this.data.titleshow

     }).get().then(

       res=>{

            if(res.data.length>0)

            {

              wx.showToast({

                title: '已存在',

              })

              return;

            }

       }

     )

    





    wx.showLoading({

      title: '正在创建……',

      mask: true

    });

回答关注问题邀请回答
收藏

2 个回答

  • candywlx
    candywlx
    2021-04-30

    create: async function () {   

       const res= await db.collection("kinds").where({

           title:this.data.titleshow

         }).get()

      if(res.data.length>0)

      {

       wx.showModal({

         title:"确认提示",

         content:"已经存在,是要更改值吗?",

         success(res)

         {

           if(res.confirm)

           {

             db.collection("kinds").where({

               title:this.data.titleshow

              }).update({

                data:{

                  title:this.data.titleshow

                }

              })

              return;

           }

           else if(res.cancel)

           {

             return;

           }

         }

       })

      }

    ///这是一条分隔线-----------------------------------------------    wx.showLoading({

          title: "正在创建…",

          mask: true

        });

    为什么确认提示框出来一下,还没有点确认就执行下去????

    2021-04-30
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2021-04-29

    async await

    2021-04-29
    有用
    回复 3
    • candywlx
      candywlx
      2021-04-29
      这样加也不对,能不能告诉我一下加在哪里,谢谢
      create:  async function () {
          if (!this.data.titleshow) {
            wx.showToast({
              title: '请填写标题~',
              icon: 'none'
            });
            return;
          }
          await    db.collection(kinds).where({
             title:this.data.titleshow
           }).get().then(
             res=>{
                  if(res.data.length>0)
                  {
                    wx.showToast({
                      title: '已存在',
                    })
                    return;
                  }
             }
           )
          wx.showLoading({
            title: '正在创建……',
            mask: true
          });
      2021-04-29
      回复
    • Mr.Zhao
      Mr.Zhao
      2021-04-29回复candywlx
      有await 就不用写then了,还是先学学js吧,基本功
      2021-04-29
      回复
    • candywlx
      candywlx
      2021-04-29回复Mr.Zhao
      谢谢,我又解决了一个问题
      2021-04-29
      回复
登录 后发表内容