在nodejs中为子进程附加回调或事件侦听器有什么区别吗?就像-
const execute = require('child-process').exec;
const process = execute('ping -n 1 www.google.com'); // or ping -c 1 www.google.com for mac
process.stdout.on('data', data => {
console.log(data)
}) 在上面的代码中,我使用了一个事件侦听器作为输出,我在窗口中获取稳定的数据,但无法在macOS中获得输出。但如果我用回调方式-
const execute = require('child-process').exec;
execute('ping -c 1 www.google.com', (error, stdout, stderr) => {
console.log(stdout);
})我正在获取windows和mac中的输出数据。使用回调或事件侦听器(两者都是异步的)有什么区别吗?
发布于 2021-12-20 06:34:29
当异步任务的执行完成时,将调用callback。然而,这些事件必须根据观察者来触发。每个事件都有侦听器,当事件被触发时,它的相关侦听器函数启动执行。
您可以检查堆栈溢出上的this链接,查看不同的b/w回调和事件。
https://stackoverflow.com/questions/70417849
复制相似问题