假设我有一个包含名为parent
的方法的parent.js
文件。
var childProcess = require('child_process');
var options = {
someData: {a:1, b:2, c:3},
asyncFn: function (data, callback) { /*do other async stuff here*/ }
};
function Parent(options, callback) {
var child = childProcess.fork('./child');
child.send({
method: method,
options: options
});
child.on('message', function(data){
callback(data,err, data,result);
child.kill();
});
}
与此同时,在 child.js
文件中
process.on('message', function(data){
var method = data.method;
var options = data.options;
var someData = options.someData;
var asyncFn = options.asyncFn; // asyncFn is undefined at here
asyncFn(someData, function(err, result){
process.send({
err: err,
result: result
});
});
});
我想知道在Node.js中是否允许将函数传递给子进程。
为什么asyncFn
在发送到child
后会变成undefined
?
这与JSON.stringify
有关吗?
new Function('return ' + funcString)();
对于不受信任的代码来说安全吗? - M4GNV5vm
模块,并采取适当的操作系统级别保护措施来确保与“不受信任的代码”安全。 - mscdex