私は、サーバー側の開発にはnode.jsを使用し、クライアント側の開発にはbackbone.jsを使用しています。私はnode.jsに1つの要求を送ることによって複数のテーブル(3以上)からデータを取得したいしかし、私はその結果をすべてnode.jsの非同期実行のお互いにマージすることはできません。私はこれを行ったが、それはすべてのテーブルからデータを取得するためのノードjsに多くのリクエストを送信し、私のサイトのこれらのパフォーマンスが遅くなっているためです。何か考えている人なら、私を助けてください。1つのリクエストだけを送信して複数のテーブルからデータを取得する
0
A
答えて
1
私は、それぞれの要求の結果を集約して応答を返すメソッドを作成します。基本的に、3つの非同期dbコールはそれぞれ、同じメソッドにデータを渡します。この方法では、要求を完了するために必要なすべてのデータが含まれているかどうかを確認し、要求があった場合は応答を送信します。ここで
は、擬似コードの例です。これは大幅に簡素化され
function handleRequest(req, res) {
var results = {};
db.getUsers(function(data) {
aggregate('users', data);
});
db.getPosts(function(data) {
aggregate('posts', data);
});
db.getComments(function(data) {
aggregate('comments', data);
});
function aggregate(name, data) {
results[name] = data;
if(results.users && results.posts && results.comments) {
res.send(results);
}
}
}
、あなたももちろんデシベルの呼び出しにエラーやタイムアウトのためにチェックする必要がありますが、これはあなたがすべての非同期コマンドを待つことができますデータを送信する前に完了してください。
関連する問題
- 1. jQuery/php - ページ上に複数形をつけて1つだけを送信
- 2. 複数のSOAPリクエストを1つのパケットで送信する
- 3. JSON IPHONE:JSONリクエストを送信してサーバーからデータを取得する方法は?
- 4. ノードモジュールに1つの変数だけを送信する
- 5. 1つのテーブルから重複データのみを取得するには?
- 6. 複数の列からデータを取得し、1つの列に表示する
- 7. Codeigniterの複数のテーブルからデータを取得する
- 8. ViewModelを使用して複数のテーブルからデータを取得しますか?
- 9. 複数のテーブルからデータを取得するSQL
- 10. 複数のmySQLテーブルからデータを取得する
- 11. プロキシはExtJsストアから複数のリクエストを送信します
- 12. 複数のIframeが同じSRCに1つのリクエストを送信する
- 13. フォームを送信するボタンは1つだけですか?
- 14. 送信SMSからデータを取得
- 15. 送信したデータのデータベースからIDを取得する
- 16. 2つのテーブルからデータを取得していますか?
- 17. CoreDataから複数のエンティティを持つデータを取得する
- 18. Doctrine - 1つのクエリで2つのテーブルからデータを取得する
- 19. 1つのボタンから複数の送信済みアクション
- 20. 休止状態の複数のテーブルからデータを取得
- 21. mysqlのgroup byクエリを使用して1つのテーブルから複数のレコードを取得する方法
- 22. jqueryを使用して複数のフォームを1つずつ送信する
- 23. 複数のテーブルからレコードを取得
- 24. HowTo:アプリのリクエストを送信し、ユーザーがアプリを受け入れずにリクエストからデータを取得して(特定のリンクにリダイレクトする)
- 25. My MySQL JOINクエリは1つのテーブルからのみデータを取得します
- 26. 複数のメッセージが1つだけ送信されたときにコンテンツページに受信されますか?
- 27. Wininetで複数のHttpリクエストを送信
- 28. myScannerから複数のデータを取得
- 29. Javascript - フォームを1回だけ送信してリフレッシュする
- 30. データベースからデータを取得/送信するためのAPI
私は同意します。 Node.jsの質問には、私が回答していたASP.NET MVCの質問以上の問題があるようです。 –