我有三个功能。就像下面给出的样本一样。
function1 {
// Do some validation
}
function2 {
// Do some read and write operations in DB
}
function3 {
// Do some parallel task
}
如何在nodejs中并行执行所有三个函数。提前致谢。
答案 0 :(得分:3)
您可以使用fork,如上面的评论所示,或者更容易使用caolan中的异步包。
答案 1 :(得分:1)
这取决于功能的作用。
如果它们都使用异步I / O,您只需调用它们,这样每个都可以启动I / O,它将并行运行。
function1();
function2();
function3();
注意:如果您需要协调完成,那么您需要查看flow control或
async
等q
库。
但是,如果它们中的任何一个是同步的,那么它会变得更加棘手。您需要在它们周围引入异步I / O.这可以通过cluster
s或child_process
来完成,以启动多个node
进程。
但是,单靠JavaScript无法完成。 JavaScript仍然是Node的单线程,因此同步任务将阻止其他JavaScript代码执行。只能通过使用native C/C++ binaries的libuv
来实现异步I / O.