Używam prototypowania aplikacji Ember fixtures, a chciałbym dodać opóźnienie, gdy po raz pierwszy model jest wymagany do symulacji żądania ajax. czy to możliwe?Dodaj opóźnienie do danych urządzenia ember do symulacji ajax
Odpowiedz
Dobre pytanie. Ten FixtureAdapter
ma tę wbudowaną funkcję, właściwość, którą musisz skonfigurować nazywa się latency
. Spróbuj tego:
App.Store = DS.Store.extend({
adapter: DS.FixtureAdapter.create({ latency: 5000 });
});
To doda opóźnienie 5000 Millis (5 sekund) do FixtureAdapter
, czeka 5 sekund zanim powróci dane.
Chociaż odpowiedź @ Daniela jest również ważnym podejściem, ale użycie tej wbudowanej funkcji pozwoli na nienaruszenie haka twojego modelu, co nie będzie wymagało żadnego wysiłku, kiedy przełączysz się na inny Adapter w pewnym momencie, a nie będzie trzeba usunąć symulacyjne obietnice, które spowodują, że kod będzie czystszy.
Mam nadzieję, że to pomaga.
W haku modelu zwracamy obietnicę, która rozwiązuje się po krótkim czasie.
model: function(params, transition){
return new Ember.RSVP.Promise(function(resolve){
setTimeout(function(){
var model = App.Model.find(params.id);
resolve(model);
}, 3000); // 3 second delay, wooh, your server is slow!!!
});
}
Próbowałem tego, ale nie zapisałem modelu w sklepie. Chciałbym symulować opóźnienie tylko przy pierwszym żądaniu modelu. –
Musisz użyć tego ogólnego rozwiązania, gdy nie używasz Ember Data. Korzystając z Ember Data, korzystaj z rozwiązania intuicpixel. – ronkot
ARgh, dokumentacja znowu uderza! –