2

meteorJs が大量のデータセットの同期をどのように管理するかを知りたいです。

検索クエリの結果をバインドして、それぞれ 10 フィールドを持つ 1000 ~ 10.000 レコードの変数を返すとします。検索クエリは、ユーザーの入力に応じて常に変化し、毎回新しいデータ セットを提供します。少し極端ですが、理解するのに役立ちます。

それで、どのように流星がこれを同期しますか?それらをすべて一度に送信するつもりですか(データがロードされるのを待っている=> UIの反応性の待ち時間=>ユーザーエクスペリエンスにはあまり良くありません)?または、それらをチャンクに分割して送信すると、ユーザーは情報が徐々に表示されるのを見るでしょうか?

流れをコントロールできるなら、方向を教えてもらえますか?

ありがとう。

4

1 に答える 1

4

各ドキュメントは、独自の DDP メッセージで送信されます。DDP は Meteor のデータ プロトコルであり、現在はトランスポート層として sockjs の上に乗っています。ユーザーが初めて Meteor の Web ページを開くと、サーバーはユーザーが購読しているすべてのデータを送信します。

その後、データが更新されると、Meteor サーバーはクライアントが知っている変更された情報を正確に計算し、異なる部分の更新のみを送信します。

アプリケーションのレイテンシを制御するには、プロジェクトから autopublish を削除し、クライアントにパブリッシュするカーソルを慎重に決定することが重要です。これにより、各クライアントは、Web ブラウザーで表示する必要があると思われる情報のみを受け取る必要があります。次の分かそこら。

このすべてが行われているため、クライアントはすべての変更セットを受信するとすぐに再レンダリングします。これを制御したい場合は、レンダリングを制御するセッション変数を設定できます。これは、各サブスクリプションの onComplete コールバックから設定できます。

于 2012-12-14T01:25:48.460 に答える