Javascript Node.JS异步显示;“承诺”;在返回的数据中
我有以下node.js函数调用和函数Javascript Node.JS异步显示;“承诺”;在返回的数据中,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我有以下node.js函数调用和函数 var returned = checkCurrentProcesses() returned.then(() => { console.log(returned) }) function checkCurrentProcesses() { return new Promise(function(resolve, reject){ exec('pgrep -u user123 -x node
var returned = checkCurrentProcesses()
returned.then(() => {
console.log(returned)
})
function checkCurrentProcesses() {
return new Promise(function(resolve, reject){
exec('pgrep -u user123 -x node -a', (err, cmdOutput, stderr) => {
if (err) {
reject({error:err})
}
else{
resolve({output:cmdOutput})
}
});
})
}
这成功地重新运行了我需要的数据,但是它以我不理解的方式返回数据。我希望得到一个已解决条件的返回,它是一个对象。但是当我console.log(返回)时,输出如下所示,数据是对象中的一个对象,我无法访问它
Promise { { output: '26278 node nodeMasterServer.js list\n' } }
即使我简化了代码,返回的格式也是一样的
function checkCurrentProcesses() {
return new Promise(resolve =>{
resolve({thisIs:"aTest"})
})
}
Promise { { thisIs: 'aTest' } }
导致此行为的原因是什么?我如何修复它?您就快到了,您需要将数据传递到
然后
回调,如下所示:
var returned = checkCurrentProcesses()
returned.then((data) => { // can be any name you want
console.log(data) // the object you are expecting
})
非常感谢。输出现在正确显示为
{thisIs:'aTest'}