这是我的noflo组件,HelloWorld.js -它只是接受传入的字符串并将其发送出去。
const noflo = require('noflo');
exports.getComponent = () => {
if (!input.hasData('in')) {
return;
}
const c = new noflo.Component();
c.inPorts.add('in', { datatype: 'string' });
c.outPorts.add('out', { datatype: 'string' });
c.process((input, output) => {
const data = input.getData('in');
output.sendDone({
out: data,
});
});
return c;
};我从Getting started with NoFlo文档构建了样例图,它工作得很好。但是现在尝试我自己的组件(见上),当我试图运行一个使用它的图形时,我的系统只是旋转,消耗了大约4 4GB的内存,然后吐出:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory我已经看过你找到的关于这个问题的建议(所有的NODE_OPTIONS,内存限制的东西)。事实上,我在我的Linux系统上遇到了这个“堆”问题,然后这个建议就起作用了。但是现在我在我的两个Windows系统和我的Linux系统上都得到了上面的错误(仅针对这个noflo项目)。
我是否在组件中编写了错误的代码?这是我的图表,HelloWorld.fbp:
Hello(HelloWorld) OUT -> IN Display(core/Output)
'say it' -> IN Hello和我的npm脚本:
"flo-hello": "noflo-nodejs --graph graphs/HelloWorld.fbp --batch --debug",发布于 2021-01-31 23:08:24
input.hasData('in')部件需要在处理函数中,而不是在getComponent中
https://stackoverflow.com/questions/65969534
复制相似问题