await把Promise解析为普通对象,async函数return的返回值是promise对象,await后转化为普通Object

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

文章目录

  • 前言
    • 1、函数return的返回值Object,await后得到的是Object
    • 2、async函数return的返回值是Promise,await后得到是Object
    • 3、函数直接return Promise,await后得到是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

总结

踩坑路漫漫长@~@

你可能感兴趣的:(node.js,javascript)