async 函数 return 的是 Promise,await Promise 后得到 Object

文章目录

前言

1、函数 return 的返回值 Object,await 后得到的是 Object

function aa(){
    let num = 5
    return num;
}

async function bb (){
    let num1 = aa();
    let num2 = await aa();
    console.log(num1);
    console.log(num2);
}

bb();

2、async 函数 return 的返回值是 Promise,await 后得到是 Object

async function aa(){
    let num = 5
    return num;
}

async function bb (){
    let num1 = aa();
    let num2 = await aa();
    console.log(num1);
    console.log(num2);
}

bb();

3、函数直接 return Promise,await 后得到是 Object

function aa(){
    let num = 5
    return new Promise((resolve,reject)=>{
        resolve(num);
    });
}

async function bb (){
    let num1 = aa();
    let num2 = await aa();
    console.log(num1);
    console.log(num2);
}

bb();

综上 async 函数 return 出来的是 promise 对象,需要 await 后方可转化为普通 Object

总结

踩坑路漫漫长 @~@