Ich habe den folgenden Code in Ember 2.6; Ember-Daten 2.6.1DELETE-Anfrage wird abgeschlossen, bevor GET-Anfrage bei FindingRecord und DestroyRecord in Ember
import Ember from 'ember';
export default Ember.Route.extend({
activate() {
var route = this;
var sessionId = localStorage.getItem('sessionId');
if (sessionId) {
localStorage.removeItem('sessionId');
this.store.findRecord('session', sessionId).then(function found(session) {
session.destroyRecord();
route.transitionTo('index');
});
} else {
this.transitionTo('sessions.new');
}
}
});
ich ein Logout-Button, die hbs Template-Code hat als:
<li>{{#link-to 'sessions.delete'}}{{fa-icon "fa-lock"}} Logout{{/link-to}}</li>
Der Route.extend
Code ausgeführt wird, wenn/sessions/aufgerufen löschen!
Was ich beobachte ist die Reihenfolge der REST-Anrufe sind:
1) ***DELETE*** http://dozee.me:3000/api/sessions/<sessionId>
2) ***GET*** http://dozee.me:3000/api/sessions/<sessionId>
Die zweite REST Anfrage wirft und Fehler, da zu diesem Zeitpunkt die Sitzung/Cookie bereits aufgeräumt wird.
Was ich erwarte, ist die Reihenfolge der REST-Anrufe sollte eigentlich umgekehrt sein, aber ich bin nicht in der Lage, herauszufinden, warum es nicht so ist!
Alle Zeiger & Hinweise geschätzt werden;)
Woher kommt das dann? (Funktion gefunden (Sitzung)? –
'FindRecord' sollte ein Versprechen zurückgeben. Ist es nicht? – Mayank
ja, aber ich sah nie, dass Funktionsaufruf ... deshalb fragte ich .. Was ich tue, ist dies .... dann ((Sitzung) => {...}); wenn Sie ES6 und Fettpfeil verwenden ... so ist die gefundene Funktion extra in Ihrem Beispiel ..es kann so sein als na dann (funktion (session) {} .... probier das ohne ... aber nicht sicher, ob das Benennen einer Funktion einen Unterschied machen würde ... –