2016-08-10 5 views
0

私はAngularJSでデータ集約型アプリケーションを作成しています。私は、ページが外部APIからデータを取り出すときに読み込むのに約10秒かかることに気付きました。AngularJSでの外部APIリクエストの遅れ

これまで、角度キャッシュを使用してデータをキャッシュしようとしました。私は最初にバックグラウンドでデータを先取りするWebワーカーを検討していますが、それがどれだけ難しいかはわかりません。私はng-webworkersを使うつもりです。それで、ロードを急ぐように試みることのできる他の解決策はありますか?

+0

クライアント側で何もしないと、外部APIのネットワーク/処理速度が向上します。これは、外部APIからデータを先取りして取得し、アプリが使用するために保存する独自のAPIを作成しない限り、あなたのコントロールの範囲外です。 –

+0

友人は、外部APIをミラーリングするウェブサーバーを構築することを推奨しましたが、それは多くの冗長な作業のようです。これを実現する準備のできたオープンソースアプリケーションがありますか? –

+0

が依存しています...データはリアルタイムでどのように必要ですか?最大分のデータが必要な場合は、全体的な利益を得ることはできません。 –

答えて

0

もっと分かりませんが、答えは不可能ですが、ここにいくつかのヒントがあります。

サーバーのAPIリクエストが遅い場合、クライアントアプリケーションでそれを修正することはあまりありません。その代わりにそれを修正してください。

キャッシングは、2番目の読み込みには役立ちますが、最初の読み込みには役立ちません。

Webワーカーは、クライアントのCPUバウンド操作の方が多いため、おそらくサーバーが応答するのを待っているだけです。だから私はそれが助けになるとは思わない。

多くの通話を行っている場合は、一度にすべての通話を発信していますか、または発信していますか?アーキテクチャによっては、理想的な数の同時要求が存在する可能性があります。

+0

残念ながら、私はAPIを制御できません。 Webワーカーを使用してデータを先取りして取り込むことはできますか? –

+0

"先制的に"? Redisキャッシュなどを試してください –

+0

データを先取りしてプルするためにWebワーカーは必要ありません。 Web要求は非同期です。データが表示される前にデータが必要であることがわかっている場合は、お気軽にリクエストしてください。 –

関連する問題