nodejs创build后台任务还是subprocess来执行callback函数

NodeJS是否创build后台任务或subprocess来执行callback函数? NodeJS如何执行下面的查询?

MyModel.find({}, function (err, docs) { //Do some thing }); 

NodeJs实现了非阻塞i/o在单线程中实现这些callback。 它使用事件循环。

根据数据需求,nodejs注册callback并将操作发送到此事件循环。 当数据可用时,调用callback。

说一个线程正在执行callbackA.它继续执行,并说它find另一个asynchronous任务。 它为那个asynchronous任务注册新的callbackB. 同时等待B的数据,它开始执行一些其他的callbackC.一旦C完成。 然后检查B的数据是否可用。 如果是这样,执行B.否则执行一些其他callbackD …等等。

阅读这个深入了解http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/

这已经被回答很多次了…这不是特定于Mongoose,几乎每个单独的Javascript库都可以处理asynchronous调用。

看看Philip Roberts在JSConf上的演示: https : //www.youtube.com/watch?v= 8aGhZQkoFbQ

它很好地解释了实际情况下发生的事情。

无论如何,Mongoose的基本function是使用Node.js MongoDB Native驱动程序查询MongoDB,等待响应并执行callback函数,并从本机驱动程序收到errdoc结果。

简而言之,Mongoose只是本地驱动程序的一个包装,使开发人员更容易。