zoukankan      html  css  js  c++  java
  • JS的ES6的async

    1.async概念:

    • 真在意义上解决异步回调函数的问题(由于promise的then方法中还是使用回调函数,而async中await并没有使用回调函数真正意义上解决回调函数),同步流程表达异步操作。

    • 最为常用并与promise结合使用。

    • 本质是Generator的语法糖。

    2.特点:

    • 不需要像Generator去调用next方法,遇到await等待,当前的异步操作完成就往下执行。

    • 返回为Promise对象,可以用then方法进行下一步执行

    • async取代Generator函数的星号*,await取代Generator的yield

    • 语义上更为明确,使用简单,没有任何副作用

    3.使用:

    • 异步任务使用promise包装,await之后的异步任务通常返回一个promise的实例。

    • 通过修改promise实例的状态通知await以及给await设定返回值(resolve(data))

     1 let num = 1;
     2 
     3 function promiseUtil(){
     4   return new Promise((resolve,reject)=>{
     5 
     6     setTimeout(()=>{
     7 
     8       console.log("异步任务"+num+"执行成功");
     9 
    10       let data = "我是异步任务"+num+"返回的数据xxxx";
    11       num++;
    12 
    13       resolve(data);
    14       
    15     },2000);
    16   })
    17 }
    18 
    19 async function AsyncUtil(){
    20 
    21   console.log("函数开始执行");
    22 
    23   let result = await promiseUtil();   //返回的是一个Promise对象,可以使用then继续调用
    24   console.log("异步任务返回数据:"+result);
    25 
    26   console.log("函数继续执行");
    27 
    28   result = await promiseUtil();
    29   console.log("异步任务返回数据:"+result);
    30 
    31   console.log("函数执行结束");
    32   
    33 }
    34 
    35 AsyncUtil();

  • 相关阅读:
    DOM对象和jQuery对象的区别
    scrollLeft,scrollWidth,clientWidth,offsetWidth详解
    js数组去重
    变量和作用域的小结
    JS练习题之字符串一
    css实现布局
    将字符串或者数字转化成英文格式输出
    css元素居中实现方法
    不同的函数调用模式
    一个apply的实例
  • 原文地址:https://www.cnblogs.com/zhihaospace/p/12057460.html
Copyright © 2011-2022 走看看