0

私の場合、2 つのリクエストでコレクションをロードします

  1. 私を得る
  2. 友達になる

それぞれがモデル内の写真を取得するために別のリクエストを行います

  1. 1 件のリクエスト
  2. 10 リクエスト (フレンドごとに 1 つ)

要するに、13 件のリクエストがあるということです。ただし、サーバーは 1 秒あたり 3 つのリクエストしか処理できません。私は何をすべきか?

UPD リモート サーバーは私のものではありません。Mbは間違っていますが、私のやり方はすでに次のとおりです。

  • collection.add(collection.getMe()) -> model.init -> model.getphotos-> view.render() (1回)

  • collection.add(collection.getFriends()) ->... 各フレンドごとに次... model.init -> model.getphotos->view.render() (10 回)

私はバックボーンで完全に初心者です。バックボーンスタイルでプログラミングしようとしています。しかし、ajax リクエストを制限する方法がわかりません。

4

1 に答える 1

0

これを 2 つの異なるレベルで見ていきます。1 つ目はデザイン、2 つ目はパフォーマンスの最適化です。

デザイン:

個人的には、必要なすべてのデータを 1 回のリクエストで返す API エンドポイントを作成することで、問題に別の方法でアプローチします。これには以下が含まれる可能性があります。

  1. 単一のオブジェクトと直接的な依存関係を返すエンドポイント (get me) と、
  2. 特定のオブジェクトのすべての友達とその依存関係を返すエンドポイント (友達と写真などを取得する)

パフォーマンス:

質問の理由がすでに非常に遅いためである場合は、設計を検討することができますが、遅くなることだけを心配している場合は、先に進んで実際のパフォーマンスを測定します. 遅いと思われるものを最適化するために時間を費やすことは、間違った戦略であることが判明する可能性があります。

1 秒あたり 3 つのリクエストで十分であり、N 個のリクエストがキューに入れられ、連続して処理される可能性が高くなります。あなたは大丈夫かもしれません。

うまくいかない場合は、必要に応じて(ユーザーが操作したり、ページングしたりしたときに)写真の読み込み(またはその後に読み込まれるもの)を変更できます。これにより、プルしたものを使用し、必要なものだけをプルすることが保証されます。使用する。

お役に立てれば!幸運を!

于 2013-02-04T06:09:03.313 に答える