onReady:function(){

var query = new AV.Query("goods") 
query.find().then(function (goods) {
  var goods_data = []
  for (var index in goods) {
    goods_data.push(goods[index])
  }
  this.setData({ goods_data })
})

},

我想将请求过来的数据倒序,本来打算在函数中排序后在setData上去,但是发现根本set不到。

然后我用了很多办法,发现then获取数据总数在最后的。

后来我又用了.then().then()的方法,第一个then设置数据,第二个then拿数据排序,但发现在function里面就是拿不到this.data的数据。

求指教

建议了解一下 JS 的 this 和作用域相关的知识,这个地方需要用箭头函数来访问外层的 this

谢谢 已经解决了。但之前研究的时候也发现有个问题,就是无论then()里面总是最后才走的。我看回文档和promise,发现好像真的只能异步,是这样的吗?没有办法让它先执行?