JavaScript - Nodejs の最適化の問題
过去多啦不再A梦
过去多啦不再A梦 2017-05-16 13:44:59
0
5
456

nodejs を使用して複数の Java インターフェイスをリクエストし、最終的にページをレンダリングするためのすべてのデータを取得する必要がある場合、どうすれば速度を向上させることができますか
以前はこのようでした

リーリー

これは非常に遅いです。次に、asyncを引用しました

リーリー

これで速度は少し速くなりますが、それでも非常に遅いです。何か良い解決策はありますか?

过去多啦不再A梦
过去多啦不再A梦

全員に返信(5)
左手右手慢动作

最初の方法は、かかる時間がすべてのリクエスト時間の合計であるため遅くなります。2 番目の方法は、最も長いリクエストの時間だけがかかるため、当然より速くなります
最適化したい場合は、それを行う必要があります。レンダリングプロセスまたはサーバー側のリクエスト処理プロセスが最適化されました

いいねを押す +0
Ty80

promise.all くらいしか使えません 何か良い方法があれば教えて下さい。

いいねを押す +0
给我你的怀抱

この問題は実際にはレンダリング戦略の問題です。実際、クライアントに送信する前に Node 内のすべてのデータ要求を完了する必要はありません。

データをリクエストするこのステップをクライアントに完全に配置することができ、クライアントは ajax を使用してデータを取得します。これにより、すべてのデータが取得されるまで待つ必要がなくなります。

いいねを押す +0
巴扎黑

es6 構文の新しい Promise を使用して、コールバック ブラック ホールの状況を具体的に解決できます。

いいねを押す +0
大家讲道理

2つの点を考慮する必要があるように感じます。まず、すべてを前のものに依存していませんか?いくつかのリクエストを並行して送信することは可能でしょうか? 次に、優先度を区別してクライアントにリクエストを送信させることは可能でしょうか? 結局のところ、クライアントのウィンドウは非常に大きく、クライアントが送信するときに優先度間の関係は明らかになります。リクエストでは、重要なリクエストが最初に送信され、最初の画面をロードしてから次の内容を投稿します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート