• promise 和 async / await


    promise 的存在:

      为了解决异步问题,就是当某个异步执行完之后执行某件事,

      什么是异步:

        例:

          console.log(1)

          setTimeout(()=>{

            console.log(2)

          },1000)

          console.lig(3)

          懂异步的知道打印顺序为1,3,2。不知道一定说1,2,3.其实这就是异步

    promise 的三个状态:

      fulfilled:成功。  rejected: 失败。 pending : 进行中

    promise的静态方法与成员方法:

      静态方法:

      

      promise.all():

      例:

        

         都执行完成后执行.then

      promise.race():  使用方法与all相同,都是数组参数,不同的是只要有一个执行完成就执行.then

      

       成员方法:

      

    生成promise :

      let mypromise=new Promise(callbck(fn1,fn2){})

      callbck中,成功执行fn1,失败执行fn2

    使用promise:

      myPromise.then(fn).catch(fn)

    为什么使用promise:

      为了得到异步操作获得结果

    promise是同步的还是异步的?

      可以说它是一个容器,根据容器内部的操作决定,而.then .catch是异步的

    简单举例:

      

      

       可以看出根据一个异步执行的成功与失败执行不同任务

      

    async / await

         是什么:

        是Promise的语法糖,它能实现的效果都能用then链来实现

    async函数:

      async函数的返回值是Promise对象

        返回的值会被当做resolve的值,return的值,出错也会被捕获到

    await (等待):

      1.await关键字后面可以跟任意表达式

      2.await必须写在async函数里面

      3.await不能捕获到promise的报错,所以要用trycatch包住

      4.如果是promise对象,会等promise执行完再执行 下面的代码,换言之,会阻塞后面的同步代码

    例:

      

  • 相关阅读:
    as3.0 网络通信
    flash显示html
    [javascript]对象
    hibernate
    远程服务
    [mysql]笔记1
    [笔记]深入剖析Tomcat-tomcat的默认连接器,servlet容器
    [java]关于访问权限
    [笔记]http权威指南(2)
    [笔记]http权威指南
  • 原文地址:https://www.cnblogs.com/hqkbk/p/14156987.html
Copyright © 2020-2023  润新知