我一直在用Node.js编程一段时间,而且我发现自己越来越讨厌需要链接回调。例如,当您需要如图所示的数据库中的多个模型时:等待回调完成的性能影响是什么?
Person.findOne({ 'name.last': 'Ghost' }, 'name occupation', function (err, person) {
Schedule.findOne({'person_id': person.id }, 'events', function(err, schedule) {
...
}
})
我正在寻找此问题的解决方案。我有一个想法是做这样的事情:
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;
// ...
}
如果我这样做我的查询,性能影响是什么?我也接受其他想法来解决这个问题。
看看https://github.com/caolan/async – elclanrs 2013-02-10 02:00:26