2013-08-07 13 views

答えて

6

FixtureAdapterには正確な機能が組み込まれており、設定する必要のあるプロパティはlatencyと呼ばれています。これを試してみてください:

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

これは、それがデータを返す前に5秒待って、FixtureAdapterに5000ミリ秒(5秒)の遅延が追加されます。

@ダニエルの回答も有効なアプローチですが、この組み込み機能を使用すると、モデルのフックはそのままになります。ある時点で別のアダプタに切り替えるときに何の労力も必要とせず、シミュレートされた約束を削除して、よりクリーンなコードにする必要があります。

希望します。

+0

ARgh、ドキュメンテーションが再び襲います! –

4

お使いのモデルでは、短い時間の後に解決する約束を返します。

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

私はこれを試しましたが、モデルをストアに保存しませんでした。私はモデルが要求された最初の時だけ遅延をシミュレートしたいと思います。 –

+0

Ember Dataを使用していないときは、この一般的なソリューションを使用する必要があります。 Ember Dataでは、このソリューションを直感的なピクセルで使用します。 – ronkot

関連する問題