我有三个功能。就像下面给出的示例一样。
function1 {
// Do some validation
}
function2 {
// Do some read and write operations in DB
}
function3 {
// Do some parallel task
}
如何在 nodejs 中并行执行所有三个函数。提前致谢。
我有三个功能。就像下面给出的示例一样。
function1 {
// Do some validation
}
function2 {
// Do some read and write operations in DB
}
function3 {
// Do some parallel task
}
如何在 nodejs 中并行执行所有三个函数。提前致谢。
正如上面的评论所建议的,您可以使用 fork,或者更容易使用来自caolan的 async 包。
这取决于函数的作用。
如果它们都使用异步 I/O,您可以简单地调用它们,以便每个都可以启动将并行运行的 I/O。
function1();
function2();
function3();
但是,如果它们中的任何一个是同步的,那么它就会变得更加棘手。您需要围绕它们中的每一个引入异步 I/O。这可以通过cluster
s或child_process
启动多个node
进程来完成。
但是,它不能仅在 JavaScript 中完成。JavaScript 与 Node 仍然是单线程的,因此同步任务会阻止其他 JavaScript 代码执行。异步I/O 只能通过使用libuv
.