收藏
回答

循环请求数据库中的异步问题,如何解决?

data:{
       DB_list:[{database_name:'secondary-quality'},
      {database_name:'secondary-education'},
      {database_name:'senior-language'}]
     },    


//对列表中的total进行更新
    var p1=new Promise((resolve,reject)=>{
      for(let i=0;i<this.data.DB_list.length;i++)
      {
        db.collection(this.data.DB_list[i].database_name).count({
          success:res=>{
            this.setData({
              ['DB_list['+i+'].total']:res.total
            })
            console.log(i)
          }
        })
      }
      resolve()
    })



    //将DB_list存入缓存
    p1.then(res=>{
      wx.setStorageSync('DB_list'this.data.DB_list)
      console.log(wx.getStorageSync('DB_list'))
    })


AppData中的total已经更新了

可缓存中的数据和原来一样(也就是没有total字段),应该是一个异步问题。





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

4 个回答

登录 后发表内容