this.store.findAll('game').then(function(results){
// RUN SOME OPERATION ON THEM
})
我想知道如何使用结果变量。我明白我能做到
results.get('firstObject') // returns the first object.
我想知道我能用它做的一切。是否有结果集合的api文档?
谢谢!
答案 0 :(得分:8)
来自ember guides,
以下方法,将返回Promise,它将被解析为Record或RecordArray。
store.findAll()
会返回DS.PromiseArray
DS.RecordArray
。{。}
store.findRecord
会返回一个将使用record
解决的承诺
store.query()
以与findAll相同的方式返回DS.PromiseArray
。
以下两个是synchronus方法,它将检索商店中可用的内容并返回记录本身。它不会请求服务器获取数据。
store.peekAll
直接返回DS.RecordArray
store.peekRecord
direclty返回记录
重要的是要注意
DS.RecordArray
不是JavaScript array,它是一个实现Ember.Enumerable
的对象。这是 重要的是,例如,如果您想要通过检索记录 索引,[]表示法不起作用 - 你必须使用 而是objectAt(index)
。
来自Ember.Enumerable,大部分时间我碰巧使用以下内容,
forEach
迭代
map
转换为新数组
filterBy
findBy
基于单一财产检查进行过滤
toArray
转换为普通原生数组
答案 1 :(得分:-3)
你根本没有谷歌?
findAll将返回一个Promise,它将解析为RecordArray。 RecordArray是一个ArrayProxy。
http://emberjs.com/api/classes/Ember.ArrayProxy.html
您需要的一切。
如果你google“ember findall”,你会找到“Ember.js - Models:Finding Records - Guides”的文档。