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

总结

踩坑路漫漫长@~@

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐