我有一个简单的方法,使用exec
作为命令从child_process
执行rm -rf
方法。
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/*'})
方法工作和文件确实被删除,但回调永远不会被执行。我错过了什么?
节点版本:v6.10.2
答案 0 :(得分:0)
首先,您可能希望使用其中一个模块删除Node中的文件:
现在,console.log('test');
不可能执行,因为你甚至不测试错误,所以即使你在PATH中没有rm
命令也不会执行它如果它失败了。
如果重定向STDOUT或重新定义console.log()
,则可能无法看到console.log
输出。要真正查看是否调用了回调,您可以尝试将某些消息写入文件。