在onload里面通过promise异步获取三个城市的天气情况,改变data里面的数据。view使用wx:for循环,渲染出来。但是AppData里面存在着数据,却渲染不出来,是异步的原因么
//获取缓存的城市名称
wx.getStorage({
key: 'default',
success: function(res) {
var arr = [];
// 循环请求数据
for (let i = 0; i < res.data.length; i++) {
wx.request({
url: 'https://free-api.heweather.com/s6/weather', //仅为示例,并非真实的接口地址
data: {
location: res.data[i].city,
key: "4f4429b5eb4e4aee9343ad8429909de3"
},
header: {
'content-type': 'application/json' // 默认值
},
success: function(params) {
//添加到data里
arr.push(params.data.HeWeather6[0]);
_this.setData({
forecast: arr
})
}
})
}
}
})
在appdata里面也是有数据存在的
相关分类