zoukankan      html  css  js  c++  java
  • async函数

    一: 概念: 真正意义上去解决异步回调的问题,同步流程表达异步操作

      本质: Generator的语法糖

      语法:

          async function foo(){

            await 异步操作;

            await 异步操作;

          }

      特点:

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

        2、返回的总是Promise对象,可以用then方法进行下一步操作

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

    4、语意上更为明确,使用简单,经临床验证,暂时没有任何副作用

    <script type="text/javascript" src="./js/jquery-1.10.1.min.js"></script>
    <script type="text/javascript">
        async function timeout(ms) {
          return new Promise(resolve => {
            setTimeout(resolve, ms);
          })
        }
        
        async function asyncPrint(value, ms) {
          console.log('函数执行', new Date().toTimeString());
          await timeout(ms);
          console.log('延时时间', new Date().toTimeString());
          console.log(value);
        }
    
        console.log(asyncPrint('hello async', 2000));
        
        // await 
        async function awaitTest() {
          let result = await Promise.resolve('执行成功');
          console.log(result);
          let result2 = await Promise.reject('执行失败');
          console.log(result2);
          let result3 = await Promise.resolve('还想执行一次');// 执行不了
          console.log(result3);
        }
        awaitTest();
      
      
        // 案例演示
        async function sendXml(url) {
          return new Promise((resolve, reject) => {
            $.ajax({
              url,
              type: 'GET',
              success: data =>  resolve(data),
              error: error => reject(error)
            })
          })
        }
    
        async function getNews(url) {
          let result = await sendXml(url);
          let result2 = await sendXml(url);
          console.log(result, result2);
        }
        getNews('http://localhost:3000/news?id=2')
    

      

  • 相关阅读:
    下拉选择框:数字从n到m
    event.target返回事件的目标节点(触发该事件的节点)
    nextSibling使用注意(html的注释)
    mysql导出 csv文件
    ie打印去掉页眉页脚
    jsp标签循环标签体
    String.format字符串格式化方法
    [**奇文共赏**补充问题] 据说看五遍能懂的人智商 > 200
    [转] ARP的处理办法!
    [转] 一张废手机卡的作用大全 (没试过)
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/9938783.html
Copyright © 2011-2022 走看看