我有这个简单的代码,正如您所看到的,这是一个 promise :
var exec = require('child_process').exec;
return new Promise(function(resolve, reject) {
var x = exec(`cd /maps && ls -la`, {}, function(err, stdout, stderr) {
if (err || stderr) {
reject(err + stderr);
}
resolve(stdout);
});
x.stdout.on('data', function (data) {
console.log(data);
});
});
如果我从一切正常的周围删除 promise ,则 on
事件永远不会被触发
你有什么线索吗?
最佳答案
尝试将 resolve
移出回调函数,并在 console.log(data)
之后调用它。
原因可能是因为你过早地兑现了你的 promise 。
关于javascript - Node.js exec 事件未在 Promise 内触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35897706/