async/await和promise的区别

发布时间:2022-08-19 13:21

async

async函数定义

async函数是使用关键字声明的函数。async 是“异步”的简写,所以应该很好理解 async 用于申明一个 function 是异步的。

作用

用于解决:异步程序产生的bug

####async函数的语法

async function name([param[, param[, ... param]]]) {
    statements 
}

参数:name 函数名称

​ param 要传递给函数的参数的名称

​ statements 包含函数主体的表达式 ,可以使用await

返回值: 一个全新的promise,这个promise要么会通过一个由async函数返回的值被解决,要么会通过一个从async函数中抛出的(或其中没有被捕获到的)异常被拒绝

下面为async的具体使用实例:

 async function foo(p) {
        console.log("foo run",p);
        return 1;
      }
      var res = foo(1);
      console.log(res);//{: 1}

async函数一定会返回一个promise对象。如果一个async函数的返回值看起来不是promise,那么它将会被隐式地包装在一个promise中。

例如,如下代码:

async function foo() {
     //promise.[[promiseValue]] 
   return 1
}
//等价于
function foo() {
   return Promise.resolve(1)
}//{: 1}

下面是对async的一些补充:

  • async 本身是一个语法糖—>语法糖:带有一定功能的关键字

    • 语法糖的作用:能够减少代码量、增加程序的可读性,从而减少程序代码出错的机会

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号