2013-08-07 15 views

risposta

6

Buona domanda. Il FixtureAdapter ha che la funzione esatta built-in, la proprietà è necessario configurare si chiama latency. Prova questo:

App.Store = DS.Store.extend({ 
    adapter: DS.FixtureAdapter.create({ latency: 5000 }); 
}); 

Questo aggiungerà un ritardo di 5000 Millis (5 secondi) al FixtureAdapter, in attesa di 5 secondi prima che restituisce i dati.

Anche se la risposta di @ Daniel è anche un approccio valido, ma l'utilizzo di questa funzione incorporata consentirà di mantenere intatto il modello, il che non richiederà alcuno sforzo quando si passa ad un altro adattatore ad un certo punto, e non ci sarà è necessario rimuovere le promesse di simulazione con conseguente codice più pulito.

Spero che aiuti.

+0

ARgh, la documentazione colpisce ancora! –

4

Nel tuo gancio modello di tornare una promessa che si risolve dopo un breve ritardo.

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

Ho provato questo, ma non ha salvato il modello in negozio. Mi piacerebbe simulare il ritardo solo la prima volta che viene richiesto il modello. –

+0

È necessario utilizzare questa soluzione generale quando non si utilizzano dati di origine. Con Ember Data usa la soluzione con intuitivepixel. – ronkot

Problemi correlati