在node.js
中,如何调用函数使其在后台运行?就像是:
work = function(){
for (var i=0; i<1000000; ++i);
return "world!";
};
spawn(work).then(console.log);
console.log("Hello ");
应该输出你所期望的。
注意:不一定遵循这种模式。
在node.js
中,如何调用函数使其在后台运行?就像是:
work = function(){
for (var i=0; i<1000000; ++i);
return "world!";
};
spawn(work).then(console.log);
console.log("Hello ");
应该输出你所期望的。
注意:不一定遵循这种模式。
Node.JS 中的任何内容都不会“在后台”运行。这是因为 JS 不能多线程。然而,它具有背靠背运行代码的能力,例如同时运行 2 个 for 循环,将导致第一个 for 循环迭代一定数量,然后第二个将迭代,它们将交换处理能力以使其看起来好像方法可以同时运行一样。
如果我没记错的话,Node.JS 会使用回调来执行此操作。
“回调
回调是 node.js 中用于异步操作的基本习惯用法。当大多数人谈论回调时,他们指的是作为最后一个参数传递给异步函数的函数。然后使用函数产生的任何返回值或错误消息调用回调。更多详细信息,请参阅回调文章”
在这里找到更多示例和信息 -
http://docs.nodejitsu.com/articles/getting-started/control-flow/how-to-write-asynchronous-code
尝试查看 child_process 功能。
我目前正在使用 child_process 来分叉进程并并行化操作。最好的部分是(与在 C 或 C++ 中工作不同),node 为您做了很多痛苦的工作。
更重要的是(附注),您可以在进程之间来回传递 JavaScript 代码,并为计算密集型任务构建强大的多 CPU、多主机和多进程应用程序。不要让负面的声音告诉你……节点很棒,它可以做你看起来在问的事情。