Javascript 将大变量从子进程传递到父进程的正确方法
我正在尝试将一个大数组从子进程传输到父进程。一个数组中的元素数约为Javascript 将大变量从子进程传递到父进程的正确方法,javascript,arrays,node.js,Javascript,Arrays,Node.js,我正在尝试将一个大数组从子进程传输到父进程。一个数组中的元素数约为200000*100*2。我可能需要在未来传递更大的价值 下面是将数组传递给父进程的子进程 process.on('message', (msg) => { // console.log('inside child class'); excelParserTool(msg).then((result)=>{ process.stdout.write(JSON.stringify(resu
200000*100*2
。我可能需要在未来传递更大的价值
下面是将数组传递给父进程的子进程
process.on('message', (msg) => {
// console.log('inside child class');
excelParserTool(msg).then((result)=>{
process.stdout.write(JSON.stringify(result));
process.exit();
})
});
result
是它发送给父进程的大数组
process.on('message', (msg) => {
// console.log('inside child class');
excelParserTool(msg).then((result)=>{
process.stdout.write(JSON.stringify(result));
process.exit();
})
});
下面是接收阵列并对其进行处理的父进程
excelParserChild.stdout.on('data', (data) => {
excelBuffer += data
});
excelParserChild.stderr.on('data', (error) => {
console.log('stderr');
console.log(error);
errorFinal += error;
console.log(errorFinal)
});
excelParserChild.on('close', (exitCode) => {
console.log(excelBuffer);
})
这导致
(node:1468) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): RangeError: Invalid string length
(node:1468) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code
我曾尝试使用
process.send(result)
尝试发送数组,但它也会导致相同的错误。现在我想知道这是否是将大数据从子进程传递到父进程的正确方法。将大变量从子进程传递到父进程的最佳方法是什么?如果我做得对,我如何解决无效字符串长度问题?谢谢。无效字符串长度可能重复,这意味着您创建的字符串太大,系统无法处理。您真的需要一次处理所有这些内容吗?或者您可以将其拆分,在不同的时间检索/使用较小的部分吗?可能会重复无效的字符串长度,这意味着您创建的字符串太大,系统无法处理。你真的需要一次处理所有这些吗,或者你能把它分解,在不同的时间检索/使用更小的部件吗?