2013-08-07 11 views

Odpowiedz

6

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.

+0

ARgh, dokumentacja znowu uderza! –

4

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!!! 
    }); 
} 
+0

Próbowałem tego, ale nie zapisałem modelu w sklepie. Chciałbym symulować opóźnienie tylko przy pierwszym żądaniu modelu. –

+0

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

Powiązane problemy