如下,我把leanCloud上某个class的数据获取下来,然后想用一个数组保存起来,但是在保存的时候却老是不成功,代码如下:

loadPages: function () {
    var _this = this;

    var queryA = new AV.Query('Directory');
    var _list = [];
    queryA.select(['id', 'name', 'open', 'pages', 'icon'])
      .find()
      .then(function (results) {
        results.map(function (r) {
          var a = [{ id: r.get('id'), name: r.get('name'), open: r.get('open'), pages: r.get('pages'), icon: r.get('icon') }];
          console.log(a);
          _list = _list.concat(a);
        })
      })

    _this.setData({list: _list});
  }

其中console.log(a);显示是正常的,但是就是不能保存到page的list中。
这是为什么呢?

_list = _list.concat(a); 之后没有 _this.setData({list: _list});

意思就是说,我需要在遍历的时候,每次_list = _list.concat(a);之后都需要_this.setData({list: _list});一下?
我先尝试一下,谢谢你的回复!

你需要告诉小程序数据更新了

但是我在所有数据都concat进临时的_list之后,在setData为什么就不行呢?