При создании нового процесса с использованием exec () в nodejs, он работает параллельно с текущим процессом, как nodejs обрабатывает его? - PullRequest
0 голосов
/ 27 мая 2019

Так как nodejs является однопоточным языком, как он создает новые процессы и обрабатывает его.

const exec = require('child_process').exec;  
exec('my.bat', (err, stdout, stderr) => {  
  if (err) {  
    console.error(err);  
    return;  
  }  
  console.log(stdout);  
});  

1 Ответ

0 голосов
/ 27 мая 2019

Все методы child_process.spawn (), child_process.fork (), child_process.exec () и child_process.execFile () следуют идиоматическому шаблону асинхронного программирования, типичному для других API-интерфейсов Node.js.

Каждый из методов возвращает экземпляр ChildProcess.Эти объекты реализуют API-интерфейс EventEmitter Node.js, позволяя родительскому процессу регистрировать функции прослушивателя, которые вызываются при возникновении определенных событий в течение жизненного цикла дочернего процесса.

child_process.exec () и child_process.execFileМетоды () дополнительно позволяют указывать необязательную функцию обратного вызова, которая вызывается при завершении дочернего процесса.

Документация ссылка .

...