Node.js exec() 不执行回调
Node.js exec() doesn't execute callback
我有一个简单的方法,它使用 rm -rf
作为命令从 child_process
执行 exec
方法。
const exec = require('child_process').exec
const Foo = {
emptyDir: params => {
exec(`rm -rf ${params.path}`, (err, stdout, stderr) => {
console.log('test');
})
}
}
Foo.emptyDir({path:'./data/*'})
方法有效,文件确实被删除,但回调永远不会执行。我错过了什么?
Node version: v6.10.2
首先,您可能想使用其中一个模块来删除 Node 中的文件:
现在,console.log('test');
不可能不被执行,因为你甚至没有测试错误所以它会被执行,即使你没有rm
命令PATH 或失败。
如果 STDOUT 被重定向甚至 console.log
重新定义,您可能看不到 console.log()
输出。要真正查看回调是否被调用,您可以尝试将一些消息写入文件。
我有一个简单的方法,它使用 rm -rf
作为命令从 child_process
执行 exec
方法。
const exec = require('child_process').exec
const Foo = {
emptyDir: params => {
exec(`rm -rf ${params.path}`, (err, stdout, stderr) => {
console.log('test');
})
}
}
Foo.emptyDir({path:'./data/*'})
方法有效,文件确实被删除,但回调永远不会执行。我错过了什么?
Node version: v6.10.2
首先,您可能想使用其中一个模块来删除 Node 中的文件:
现在,console.log('test');
不可能不被执行,因为你甚至没有测试错误所以它会被执行,即使你没有rm
命令PATH 或失败。
如果 STDOUT 被重定向甚至 console.log
重新定义,您可能看不到 console.log()
输出。要真正查看回调是否被调用,您可以尝试将一些消息写入文件。