シナリオはこれです - 私はnode.jsで書いているフロントエンドWebサーバーを持っています。まだ書かれていない中間層の内部 API レイヤーがあります。internal-API は、データ ストア (たまたまリレーショナル データベース) と通信できる唯一のものです。
免責事項: 私は node.js の初心者です。
node.js は非同期でデータ アクセスを行いたいと考えています。これは、リスト全体が組み立てられるまで応答コールバックが開始されないため、Database.query.all のような呼び出しを非効率的にします。私が読んだドキュメントによると、代わりに、結果を一度に 1 つずつクライアントにストリーミングする方がよいでしょう。
ここで、node.js の非同期性を利用できるように、フロントエンドと中間層の http 内部 API を記述する方法を知りたいです。
問題は、「http で構造化データをストリーミングするにはどうすればよいか」ということだと思います。それが私がサポートを求めている内部 API の機能だと思います。
するべきか:
- ID のリストを要求するフロントエンドを取得してから、それぞれ 1 つの要求をバックエンドに発行しますか? 粗雑でおしゃべりに聞こえますが、リクエストが希望する順序で返されるという保証がないため、フロントエンドにすべてが戻るまで待つ必要があります..?
- データのページの内部 API に対して一連のリクエストを作成するフロントエンドを取得し、各チャンクをストリーム セグメントとして扱います...?
- 最初の画面の価値に十分なデータのみを取得してから、後続のチャンクを要求し、到着したときにリストの最後にそれぞれを書き込みますか?
- 何か賢い!?
(注: 「データベースと直接通信できるように中間層を削除してください」とは言わないでください。これはオプションではありません)