在node.js中,当函数调用之后有一个无休止的循环,函数调用也会将回调函数作为参数,则即使操作完成,回调也不会触发。例如:
database.insert(data, function() {
//do stuff
})
while(1) {
//do stuff
}谢谢。
编辑:打印
发布于 2015-02-22 22:17:14
Node.js是单线程的,所以一次只能做一件事.如果您正在运行一个非常cpu密集型的作业,也许您可以使用child_process在另一个进程中完成它?
否则,您可以将繁重的工作分解为同一个函数的多个调用,并使用process.nextTick(),即:
function compute() {
// do work here
process.nextTick(compute);
}
compute();这将允许事件循环在计算之间处理其他任务。
https://stackoverflow.com/questions/28663580
复制相似问题