为什么Axios(带有async / await)返回完整的承诺?

Hel*_*iem 4 javascript asynchronous axios

我对async/ 有疑问await。这是我的代码:

import axios from 'axios'

export default async function getRequestedData (requestAddress, params) {
   return await axios.get(requestAddress, {params: params})
}
Run Code Online (Sandbox Code Playgroud)

但是它不是返回结果而是返回完整的承诺,因此数据大量嵌套在一个Promise中:

在此处输入图片说明

dre*_*rew 5

就像哈贾说的那样,我认为您仍然需要兑现诺言。如果您只是返回等待状态,那么您将获得应有的承诺。

const fs = require ('fs')

function getText () {

    return new Promise( (resolve, reject) => {

        fs.readFile('./foo.txt', 'utf8', (err, data) => {
            if (err) {
                reject(err)
            }
                resolve(data)
            })
        })
}

async function output () {
    try {
        let result = await getText()
        console.log("inside try: ", result)
        return result
    }
    catch (err){
        console.log(err)
    }
}

console.log("outside: ", output())
output().then( result => console.log("after then: ", result))

// outside:  Promise { <pending> }
// inside try:  foo text
// inside try:  foo text
// after then:  foo text
Run Code Online (Sandbox Code Playgroud)