De ember guides,
Les méthodes ci-dessous, retournera la promesse, il sera résolu à enregistrer ou RecordArray.
store.findAll()
renvoie DS.PromiseArray
qui correspond à DS.RecordArray
.
store.findRecord
renvoie une promesse qui sera résolue avec le record
.
store.query()
renvoie DS.PromiseArray
de la même manière que findAll.
Les deux ci-dessous sont la méthode de synchronisation, il récupérera ce qui est disponible dans le magasin et renvoie l'enregistrement lui-même. il ne demandera pas au serveur d'extraire des données.
store.peekAll
renvoie directement un DS.RecordArray
.
store.peekRecord
retourne direclty enregistrement
Il est important de noter que DS.RecordArray
n'est pas un tableau JavaScript , il est un objet qui implémente Ember.Enumerable
. C'est important parce que, par exemple, si vous voulez récupérer des enregistrements par index , la notation [] ne fonctionnera pas - vous devrez utiliser objectAt(index)
à la place.
De Ember.Enumerable, la plupart du temps je me trouvais à utiliser ce qui suit,
forEach
à itérer
map
pour transformer à new Array
filterBy
findBy
pour le filtrage basé sur l'enregistrement de la propriété unique
toArray
conversion à la normale tableau natif
Merci beaucoup! Tu m'as dit exactement ce que j'essayais de comprendre. –
Est-ce que tout est vrai pour store.query()? Les Guides Ember disent seulement que cela renvoie une "promesse" dont je ne suis pas sûr de ce que cela signifie. – Cameron
oui c'est vrai pour 'store.query' aussi. J'ai mis à jour avec plus d'infos. dans le guide, ils ont mentionné comme ceci 'Cette méthode retourne un DS.PromiseArray de la même manière que findAll. – kumkanillam