2016-12-05 7 views
0

私は購読ユーザーと、それぞれ約5000と7000のドキュメントを提供しています。私はユーザーと製品フォームで先読み検索のためにデータを使用します。フォームレンダリングを購読すると、フォームの読み込みに時間がかかりすぎてMeteor.startupを購読することになりますが、スタートアップ時間も遅くなります。遅延Meteorは、より多くのリソースが利用できるようになるまで購読します。

最初の画面のコードに触れることなく最初の画面の読み込みが完了した後で、サブスクリプションを実行するにはどうすればよいですか?入力されたURLに応じて複数の最初の画面が存在する可能性があるため、firstScreen.onRender()内で購読したいとは思わない。

Meteor.onStartupでMeter.deferを実行しようとしましたが、うまくいきませんでした。

また、すべてのデータを読み込む以外のセマンティクスを使用して先読みを達成するより良い方法がありますか?

アイデア?

答えて

0

「テンプレートレベルサブスクリプション」のパターンを使用して、テンプレートにデータを準備しておくことを強くおすすめします。ここで はこれを説明するリンクです - >https://www.discovermeteor.com/blog/template-level-subscriptions/

私はそれが役に立てば幸い、

+0

問題だ、私はテンプレートのonCreated内側に加入した場合...、その後、テンプレートの読み込みに時間がかかりすぎます。私たちがそこに着く前に、私はそれに加入したい、理想的にクライアントはビジーではありません。 – Simon

+0

私はあなたのことを理解しています。しかし、そこに着く前にデータをロードする方法を実装すると、パフォーマンスが大幅に向上することはありません。ロード時間の合計は同じになります。私は新しいアプローチをお勧めします。本当にあなたのテンプレートに5000、7000のドキュメントがすべて必要ですか?負荷は部分的にどうですか?スクロールページによるページ設定または読み込み。あなたは、 –

+0

ありがとう、あなたの読み込み時間を改善します。私はあなたが意味することを参照してください "合計負荷時間は同じになります。それが同じであっても、クライアントがビジー状態でない場合にはより速く知覚されることがありますか?そして、ええ、セマンティックで提供されている検索可能なドロップダウンであるため、すべてのドキュメントが必要です。 – Simon

関連する問題