0

我有三个功能。就像下面给出的示例一样。

function1 {

  // Do some validation

}
function2 {

 // Do some read and write operations in DB

}
function3 {

 // Do some parallel task

}

如何在 nodejs 中并行执行所有三个函数。提前致谢。

4

2 回答 2

3

正如上面的评论所建议的,您可以使用 fork,或者更容易使用来自caolan的 async 包。

于 2013-08-14T07:20:55.663 回答
1

这取决于函数的作用。

如果它们都使用异步 I/O,您可以简单地调用它们,以便每个都可以启动将并行运行的 I/O。

function1();
function2();
function3();

注意:如果您需要协调它们的完成,那么您将需要查看流控制库,例如asyncq

但是,如果它们中的任何一个是同步的,那么它就会变得更加棘手。您需要围绕它们中的每一个引入异步 I/O。这可以通过clusterschild_process启动多个node进程来完成。

但是,它不能仅在 JavaScript 中完成。JavaScript 与 Node 仍然是单线程的,因此同步任务会阻止其他 JavaScript 代码执行。异步I/O 只能通过使用libuv.

于 2013-08-14T07:45:33.383 回答