大きなデータセットに起因する問題の解決策を探して、Emberがデータを処理しようとしている間にブラウザをロックさせる。大きいデータセットに遭遇したときにEmberが窒息する
ページングのために、私はバックエンドAPIからロードされる約13,000以上のオブジェクトをページ付けするのにtchakの便利なpagination mixinを使用しています。
Ember Dataオブジェクトには、ID、1つのテキスト属性、および複数の数値属性が含まれています。
ブラウザがデータの処理を完了するまでに1分ほどかかり、その間にブラウザを使用できなくなるという問題があります。 Firefoxは、スクリプトがすべてのブラウザリソースを使い切っているという警告を出すだけでなく、スクリプトが終了するよう提案しています。
オブジェクトを範囲、つまりアイテム10-25でリクエストする独自のページ分割ミックスを作成しました。これは1つの重大な制限を除いて一般的にはうまく機能します。データをソートするには、バックエンドに追加のリクエストを行い、オブジェクトの一部がすでにロードされていてもオブジェクトをリロードする必要があります。
私はバックエンドAPIへの追加のリクエストをせずに並べ替えのプロセスを簡素化するために、すべてのコンテンツを先に読み込むことができたいと考えています。私はこの問題に取り組む方法についてのガイダンスを探していますが、私は完全に別のアプローチに挑戦しています。
それ以外の場合は、13kのすべてのオブジェクトをArrayControllerにロードしようとすると、Emberがブラウザに配置するリソースのフットプリントを減らすことは可能ですか?
私はEmber 1.0.0-pre2を最新のEmber Data(現在リビジョン10)に使用しています。
バックエンドでは、Rails 3.2.8です。
更新私はcontent
以外のArrayControllerプロパティにデータをロードすることによって、問題をsidestepped。これにより、ロード時間が1分から数秒に短縮されました。次に、要求された数のアイテムをスライスし、コンテンツにロードします。これは、データを簡単に並べ替えることができないという犠牲を払って、任意の数の項目に対してうまく機能します。
解決策に関するいくつかのコードを教えてください。 私は同じ問題に直面しており、大きな助けになるでしょう。これについては –