Как передать функцию / обратный вызов дочернему процессу в Node.js?

Допустим, у меня естьparent.js содержащий метод с именемparent

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 становитьсяundefined после отправкиchild?

Это связано сJSON.stringify?

Ответы на вопрос(1)

Ваш ответ на вопрос