gpt4 book ai didi

ember.js - Ember-Data:了解 RecordArray 何时完全填充

转载 作者:行者123 更新时间:2023-12-02 08:04:13 25 4
gpt4 key购买 nike

我有一种情况,DS.RecordArray 上的 isLoaded 更改为 true,但 RecordArray 的 content、length 属性仍然为空,当时为 0,稍后才会更改。

示例代码(coffeescript):

@set('followRequests', App.FollowRequests.find())

...

whenDataLoads: (->

console.log @get('followRequests.isLoaded')
console.log @get('followRequests.length')
@set('content', @get('followRequests').toArray() )

).observes('followRequests.isLoaded')

第一个日志语句为 true,而第二个日志语句为 0,并且使用此数据的模板为空。当我看到实际的 AJAX 请求时,我发现该请求确实返回了一个记录数组。 RecordArray 的长度和内容在一段时间后确实会发生变化,如浏览器控制台中所示,执行以下操作:

App.Router.myController.get('followRequests').get('length') ---> 12

但是这段代码(如下)确实填充了模板中的内容,但它运行了 12 次...

whenDataLoads: (->
console.log @get('followRequests.isLoaded')
console.log @get('followRequests.length')

@set('content', @get('followRequests').toArray() )

).observes('followRequests.length')

知道 RecordArray 何时完全填充的正确方法是什么......?

最佳答案

自从 Ember.js 使用 Promise 以来,你就可以做到这一点

App.FollowRequests.find().then(function () {
// This callback will fire when array is loaded
});

关于ember.js - Ember-Data:了解 RecordArray 何时完全填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14456298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com