[英]Node.JS async showing “Promise” in returned data
我有以下node.js函數調用和函數
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' } }
是什么引起了這種現象,我該如何解決?
您快要准備好了,您需要將數據傳遞給then
回調,如下所示:
var returned = checkCurrentProcesses()
returned.then((data) => { // can be any name you want
console.log(data) // the object you are expecting
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.