前端异步流程工具

Posted ruange

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端异步流程工具相关的知识,希望对你有一定的参考价值。

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';
}

以上是关于前端异步流程工具的主要内容,如果未能解决你的问题,请参考以下文章

前端异步流程工具

前端面试题之手写promise

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段

前端片段整理

前端开发必备!Emmet使用手册