zoukankan      html  css  js  c++  java
  • 前端异步流程工具

    generator函数

    es6提供的
    function*,这就是generator函数
    通过next()调用,调用几次就执行几个任务

    function* p1(){
         yield '任务1';
         yield '任务2';
         yield '任务3';
         yield '任务4';
         yield '任务5';
    }
    var p = p1();
    console.log( p.next() );
    console.log( p.next() );
    console.log( p.next() );
    console.log( p.next() );
    console.log( p.next() );
    

    promise

     const p1 = new Promise ( function ( resolve, reject ) {
       resolve( '任务一' )
     })
      .then ( function ( data ) {
        console.log( data )
      })
    
     const p2 = new Promise ( function ( resolve, reject ) {
       setTimeout( function () {
         resolve( '任务二' )
       },1000)
     })
      .then ( function ( data ) {
        console.log( data )
      })
    
      console.log( '主线程任务 ')
    
    
    // Promise 
      //   .all([p1,p2])     // 先执行all中所有任务, 执行完成之后再去执行后面的任务
      //   .then( data => {
      //     console.log( '任务3' )
      //   })
      Promise
        .race([p1,p2])  // race  谁快输出谁
        .then( data => {
          console.log( '任务3' )
        })
    

    es6 async-await

    第一种写法

    const asyncFn = async function(){
         const 
    }
    

    第二种写法

    async function aa(){
         await '任务1';
    }
    
  • 相关阅读:
    windows基线检测脚本编写指南-powershell版
    2020蓝帽杯CTF Web 题
    2020天翼杯CTF Web 题
    Firefox 密码脱取
    利用iptables做端口转发
    Flask 快速学习笔记
    JSP无%%号命令执行一句话
    linux 后渗透凭据收集
    Fastjson漏洞利用
    Gogs远程命令执行利用
  • 原文地址:https://www.cnblogs.com/ruange/p/10908273.html
Copyright © 2011-2022 走看看