0
データベースで複数のモデルをクエリしてHTMLでレンダリングする必要がある場合がよくあります。最初のものは戻ってきた後クエリを同時に実行し、すべてのクエリが準備完了した後に返す
- 2番目のクエリが実行された:私が行っていること。これは、問題のカップルを持っている
ModelA.findById({ ... }).then(function(modelA) { ModelB.findById({ ... }).then(function(modelB) { return both modelA and modelB }); });
です。彼らはお互いに依存しないので、これは遅れを追加するだけです。クエリは同時に実行する必要があります。
- 複数のクエリがある場合、これはかなり面倒です。次
ModelA.findById({ ... }).then(function(modelA) {
ModelB.findById({ ... }).then(function(modelB) {
ModelC.findById({ ... }).then(function(modelC) {
ModelD.findById({ ... }).then(function(modelD) {
ModelE.findById({ ... }).then(function(modelE) {
ModelF.findById({ ... }).then(function(modelF) {
return all models
});
});
});
});
});
});
どのように私は同時にクエリを実行し、すべてのクエリが実行された後にのみ、ページのレンダリングを継続するかを想像してみ?