Я запускаю скрипт внутри скрипта, используя child_process.fork()
.Я использую переменную (экземпляр другого приложения) внутри моего основного скрипта, и мне нужно передать это в качестве аргумента последующему скрипту, чтобы обновить его там.Я попробовал это следующим образом
Сценарий
console.log(process.data);
let a = process.data;
.....................
Основной сценарий
function runScript(scriptPath, data, callback) {
var invoked = false;
var process = childProcess.fork(scriptPath, data);
process.on('error', function (err) {
if (invoked) return;
invoked = true;
callback(err);
});
process.on('exit', function (code) {
if (invoked) return;
invoked = true;
var err = code === 0 ? null : new Error('exit code ' + code);
callback(err);
});
}
let dataValues = "this from the main script";
runScript('./subscript.js' ,dataValues, function (err) {
if (err) throw err;
console.log('finished running some-script.js');
});
Я получаю undefined
когда я пытаюсь получить доступ к аргументу из последующего сценария.Похоже, что аргумент не отправляется в последующий сценарий.Он работал, как и ожидалось, если я не передал аргументы второму сценарию.
В чем проблема с способом отправки данных в следующий сценарий?