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';
    }
    
  • 相关阅读:
    npm 设置淘宝镜像
    JS字符串首字母大写
    类与面向对象基础(三)
    (转)php简单工厂模式实例讲解
    类与面向对象基础(二)
    类与面向对象基础(一)
    php连接数据库
    php中使用指针进行函数操作
    PHP基础之数组
    PHP正则表达式
  • 原文地址:https://www.cnblogs.com/ruange/p/10908273.html
Copyright © 2011-2022 走看看