在子进程中运行带参数的异步函数
代码示例:
主进程代码 main.js:
const { fork } = require('child_process');
const path = require('path');
const childProcess = fork(path.resolve(__dirname, 'child.js'));
const asyncFuncArg = '参数';
childProcess.send({ asyncFuncArg });
childProcess.on('message', (result) => {
console.log(`子进程返回结果:${result}`);
});
childProcess.on('exit', (code) => {
console.log(`子进程退出,退出码:${code}`);
});
子进程代码 child.js:
const asyncFunc = async (arg) => {
// 异步函数体
};
process.on('message', async (msg) => {
const { asyncFuncArg } = msg;
const result = await asyncFunc(asyncFuncArg);
process.send(result);
});
说明: