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字段),应该是一个异步问题。
promise.all
可参考:https://blog.csdn.net/nvidiacuda/article/details/96429347
注意每次循环结束都要resolve
这个用promise.all吧
async await promise.all 百度学学 异步问题年年有人问,高频问题,不学不行