async await 底层实现

82 阅读1分钟

JavaScript Generators 概念

  1. 基本概念
  • 生成器是一种特殊的函数
  • 可以暂停执行并在之后恢复
  • 使用 function* 声明
  • 使用 yield 关键字暂停
  • 可用于异步流程控制
  1. 基本用法
// Basic Generator
function* numberGenerator() {
  yield 1;
  yield 2;
  yield 3;
}

const gen = numberGenerator();
console.log(gen.next()); // { value: 1, done: false }
console.log(gen.next()); // { value: 2, done: false }
console.log(gen.next()); // { value: 3, done: false }
console.log(gen.next()); // { value: undefined, done: true }
  1. async await 底层原理

image.png

image.png