Von ember guides,
Die folgenden Methoden, die Versprechen zurückkehren, wird es für die Aufzeichnung oder RecordArray gelöst werden.
store.findAll()
gibt eine DS.PromiseArray
zurück, die zu einem DS.RecordArray
erfüllt.
store.findRecord
gibt ein Versprechen, das mit dem record
gelöst wird.
store.query()
gibt eine DS.PromiseArray
in der gleichen Weise wie findAll zurück.
Die folgenden zwei sind Synchronus-Methode, es wird abrufen, was im Laden verfügbar ist und Datensatz selbst zurückgibt. Der Server wird nicht aufgefordert, Daten abzurufen.
store.peekAll
gibt direkt eine DS.RecordArray
zurück.
store.peekRecord
direclty Datensatz zurückgibt
Es ist wichtig zu beachten, dass DS.RecordArray
kein Array JavaScript ist, es ist ein Objekt, das Ember.Enumerable
implementiert. Dies ist wichtig, weil zum Beispiel, wenn Sie Datensätze nach Index abrufen möchten, die [] -Notation nicht funktioniert - Sie müssen stattdessen objectAt(index)
verwenden.
Von Ember.Enumerable, die meiste Zeit ich folgendes verwenden geschah,
forEach
map
iterieren neue Array
filterBy
findBy
zur Filterung basiert auf einzelne Eigenschaft Check
toArray
Umwandlung normal zu transformieren natives Array
Vielen Dank! Du hast mir genau gesagt, was ich herausfinden wollte. –
Gilt das alles für store.query()? Die Ember Guides sagen nur, dass sie ein "Versprechen" zurückgeben, wobei mir nicht klar ist, was das bedeutet. – Cameron
Ja ist es auch für 'store.query'. Ich aktualisierte mit mehr Info. in der Anleitung erwähnten sie so: 'Diese Methode gibt ein DS.PromiseArray auf die gleiche Weise wie findAll.' zurück – kumkanillam