私はしばらくの間Node.jsでプログラミングしてきましたが、コールバックを連鎖させる必要性にますますイライラするようになりました。たとえば、次のようにデータベースから複数のモデルが必要な場合:
Person.findOne({ 'name.last': 'Ghost' }, 'name occupation', function (err, person) {
Schedule.findOne({'person_id': person.id }, 'events', function(err, schedule) {
...
}
})
私はこの問題の解決策を探しています。私が持っていた1つのアイデアは、次のようなことをすることでした。
function() {
var p;
var s;
var done = false;
Person.findOne(..., ..., function(err, person) {
p = person;
done = true;
});
while(!done){}
done = false;
Schedule.findOne(..., ..., function(err, schedule) {
s = schedule;
done = true;
});
while(!done){}
done = false;
// ...
}
このようにクエリを実行すると、パフォーマンスにどのような影響がありますか?この問題を解決するための他のアイデアも受け入れています。