async原理

async实际上是generator+自动执行器

let x =1;
function *foo(){
  x++
  yield 'hello';
  x++
}
let do = foo();

实际上不会执行,只是创造了一个迭代器,需要用do.next()来一步手动执行,可以用一个递归来自动执行,这样就是async了

你可能感兴趣的:(async原理)