在不同集合中查找,每次success都更新一个数并显示提示框,为什么最后只出现一个提示框?
发布于 6 年前 作者 yong39 3762 次浏览 来自 问答
    const db = wx.cloud.database()
    var that = this
    var finalid=0
    var recordmin=99999999
    for(let i=0;i<2;i++)
    {
      that = this
      db.collection(mmap[i]).doc(that.data.end).get({
        success: res => {
          let a = 0
   
          a = parseFloat(res.data.lowest)

          if(a < recordmin)
          {
            recordmin = a
            finalid = i
          }
          wx.showToast({
            icon: 'none',
            title: that.data.array[finalid]  + recordmin.toFixed(1) ,
          })
        },
        fail: err => {
          wx.showToast({
            icon: 'none',
            title: 'err',

          })
        }
      })
    }

我使用一个循环,mmap对应的是云数据库中的不同集合的,我在不同的集合中分别查找东西,希望找到最小的那一个然后弹框弹出,我发现如果只令循环到最后的时候弹出弹框,那么弹出的是相对应的最后的一个集合的信息,并不是所有集合的最小值。

但是如果在每一个success里面都让弹框弹出,最后得到的就是所有集合中相对应的最小值,请问这样操作是为什么呢?如果想找到最小的那一个然后弹框弹出,应该怎么做呢?

求解答!十分谢谢!!!!

1 回复

别用for循环,用递归

回到顶部