ITPub博客

首页 > IT职业 > > 通过promise获取数据改变data后,使用wx:for循环不渲染页面

通过promise获取数据改变data后,使用wx:for循环不渲染页面

作者:daifan 时间:2019-04-19 15:25:21 0 删除 编辑

在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

                            })

                        }

                    })

                }

            }

        })

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2311/viewspace-3125878/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 学python看什么书
请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    96
  • 访问量
    813