zoukankan      html  css  js  c++  java
  • ES6-异步async await学习

    // 首先创建一个异步函数
    let p =  function (d=Math.random()){
      return new Promise(resolve => {
        setTimeout(()=>{
          resolve(d)
        },1000)
      })
    };
    /**
    * 并行
    * */
    let tAs = async function(){
      let ary = [];
      let a = {name:'wfx',age:12,sex:'man'};
      for(let key of Object.keys(a)){
        ary.push(p(a[key]));
      }
      let val = await Promise.all(ary);
      return val;
    }
    
    tAs().then(data=>{
     console.log('data',data);
    })
    /**
     * 串行
     * */
    let bAs = async function(){
    
      let a = await  p();
      let a1 = await  p();
      let a2 = await  p();
      return {a:a,a1:a1,a2:a2}
    };
    
    
    bAs().then(data=>{
      console.log(data);
    })
    /**
     * 迭代串行
     * */
    let cAs = async  function(){
      let a = [];
      for( let i of [1,34,4,5,6,7,8]){
        let val = await p(i);
        console.log(val);
        a.push(val);
      }
    
      return a;
    };
    
    cAs().then(data=>{
      console.log('cAs',data);
    });
  • 相关阅读:
    JavaScript
    并发编程基础
    基于 TCP & UDP 协议的 socket 通信
    struct 模块 & subprocess 模块
    Python中的异常处理
    网络编程基础
    Json 模块补充
    冒泡排序
    OOP 反射 & 元类
    OOP 内置函数
  • 原文地址:https://www.cnblogs.com/niunai007/p/10868051.html
Copyright © 2011-2022 走看看