小程序异步处理(使用Promise获取云数据库集合数据)
针对异步赋值问题,使异步执行数据最终同步执行
getbuydate(){ //获取购物车表数据
return new Promise(function(resolve,reject){ //异步操作接收购物车表数据
buy.get({
success:res=>{
let result=res.data
resolve(result);
},
fail:()=>{
reject("获取失败!")
}
})
})
},
resolve与reject表示回调方法,操作成功则调用resolve,失败则调用reject。
this.getbuydate().then(function onFulfilled(list){//获取购物车表数据
that.setData({
buylist:list
})
}).catch(function onRejected(error){
console.log(error)
})
使用then获取异步执行的数据,onFulfilled(list)里的list是自定义的,代表获取的数据,
最后将数据赋值给其他变量就OK啦!!!