nodejs如何将一个方法单独放到一个进程中执行
时间: 2023-06-27 08:08:30 浏览: 38
你可以使用 child_process 模块来创建一个新的进程,然后在该进程中执行方法。具体来说,可以使用 spawn() 或 exec() 函数来创建一个子进程,然后在该子进程中执行 node 命令并传递要执行的脚本文件路径及参数,以实现将一个方法单独放到一个进程中执行的目的。以下是一个示例代码:
```
const { spawn } = require('child_process');
const path = require('path');
function runInProcess(method, args) {
const childProcess = spawn('node', [path.join(__dirname, 'myScript.js'), method, ...args]);
childProcess.on('message', (result) => {
console.log(result);
});
}
// 要在新进程中执行的方法
function myMethod(arg1, arg2) {
// 执行耗时操作,例如计算 fibonacci 数列等
}
// myScript.js 脚本文件的内容如下
const methodName = process.argv[2];
const args = process.argv.slice(3);
// 根据方法名调用对应的方法
const method = eval(methodName);
const result = method(...args);
// 将方法执行结果发送给父进程
process.send(result);
// 在主进程中调用
runInProcess('myMethod', [arg1, arg2]);
```