2016-04-06 6 views
0

Ich habe eine Anwendung, die von einer Login-Route beginnt, Anmeldeinformationen für ein Back-End überprüft, Benutzerinformationen asynchron aus dem Back-End oder Offline-Speicher abruft und dann zu einer anderen Route, wo diese Benutzerinformationen ist verwendet, um ein Datum zu formatieren. Das Problem liegt, wenn ich die Seite einmal eingeloggt aktualisieren. Die Einstellungen sind verloren und fällt auf die Standardformatierung zurück.Fetch von DB asynchron in Ember.js

Code zum Abrufen der Benutzerinformationen befindet sich in einem Service und gibt ein Versprechen zurück.

fetchUserInfo: -> 
    new Ember.RSVP.Promise (resolve) => 
    settings = @get('store').find 'settings' 
    @set 'settings', settings 
    resolve(settings) 

Meine Frage ist, wenn ich die Webseite neu laden, wo soll ich wieder diesen Abrufcode platzieren, ist es gute Praxis, nur um es in der Steuerung in init zu setzen?

+0

Sie sollten wahrscheinlich den 'Model'-Hook verwenden, um Ihre Daten zu holen. – Lux

+0

Nicht möglich. Gelöst es mit Beobachtern. – Urco

+0

Warum nicht möglich? Dann benutze einen einfachen CP. – Lux

Antwort

0

Ich würde vorschlagen, dass Sie in Ember Simple Auth suchen, wie es die Speicherung dieser Art von Informationen im lokalen Speicher für Sie automatisch behandelt.

+0

Ich werde es untersuchen. Danke yoy – Urco

+0

Sicher! Beobachter werden übrigens auch als schädlich angesehen (es gab im letzten Sommer eine Rede von Stef Penner), also würde ich vorschlagen, dass Sie sie nur als letztes Mittel verwenden – acorncom