1. generator的使用

const fs = require('fs')function * gen(data) {let a = yield dataconsole.log(a)let b = yield aconsole.log(b)
}let it = gen(123)it.next() //第一个next传参没有意义
it.next(456) //把456传递给a
it.next(789) //把789传递给b
复制代码

手写一个generator执行异步的函数

function genRun(fn) {let it = fn()function run(data) {const { value, done } = it.next(data)console.log(value, done)if (!done) {if (!!value && typeof value.then === 'function') {value.then(res => {run(res)})} else {run(value)}}}return run
}
复制代码

generator异步相关推荐

  1. Generator简单了解

    Generator是一个生成器,它生成的到底是什么呢? Ta生成的就是一个 Iterator对象 . function *gen() {yield 1;yield 2;return 3; }const ...

  2. @async 没有异步_玩转javascript异步编程

    一般知道,js脚步语言的执行环境是单线程的,就是它会等一个任务完成,才会进行第二个任务,然后一直向下进行,这样的执行环境简单,但是处理不了复杂的运用,当一个请求需要非常旧的时间的时候,下一个流程就会被 ...

  3. javascript的异步编程

    异步编程 虽然已经可以使用jweb worker支持了多线程,但是主流的js开发仍然是异步编程 采用单线程模式工作的原因 因为js设计初衷用于浏览器的脚本语言,为了实现页面交互就必须要进行dom操作, ...

  4. 【学习笔记】Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程、手写 Promise(二、JavaScript 异步编程)

    [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程.手写 Promise(课前准备) [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步 ...

  5. python基础常用语句-Python-基础-常用术语对照表

    2to3 一个将 Python 2.x 代码转换为 Python 3.x 代码的工具,能够处理大部分通过解析源码并遍历解析树可检测到的不兼容问题. 2to3 包含在标准库中,模块名为 lib2to3: ...

  6. Python基础概念_14_常见术语

    常见术语 15 常见术语 15.1 简介 Python里有一些常见的专业名词.用语,我们一般统称为术语.为了更方便的学习python我们通过表格的方式列举了常用的术语和单词以及工具. 15.2 常见术 ...

  7. 前端改变div排序_前端面试经常问到的问题

    CSS 1.盒模型 2.flex 3.css单位 4.css选择器 5.bfc 清除浮动 6.层叠上下文 7.常见页面布局 8.响应式布局 9.css预处理,后处理 10.css3新特性 animat ...

  8. 视频教程-2019 react入门至高阶实战,含react hooks-ReactJS

    2019 react入门至高阶实战,含react hooks 从事前端开发近5年时间,曾任职于丽珠集团等大型企业担任高级前端开发工程师职位,积累了很多大厂的前端开发经验. 目前处于创业期,正在筹备自己 ...

  9. 彻底征服 React.js + Flux + Redux【讲师辅导】-曾亮-专题视频课程

    彻底征服 React.js + Flux + Redux[讲师辅导]-74574人已学习 课程介绍         [会员免费]链接 http://edu.csdn.net/lecturer/585 ...

最新文章

  1. 油品调和计算软件_油品调合利器——中控supBlend油品在线优化调合解决方案
  2. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出
  3. redux-form(V7.4.2)笔记(一)
  4. Reactor设计模式
  5. python中如何调用函数_我写了一个函数,如何在python中调用
  6. inline 内联函数详解 内联函数与宏定义的区别
  7. AJAX学习笔记(基本使用,请求参数传递,获取服务端响应,错误处理,低版本IE浏览器缓存问题及解决)
  8. mysql中连接运算符_MySQL的运算符
  9. 反射ModelToDto
  10. idea显示左边project栏和隐藏project栏的快捷键
  11. LG GPRO2 SudaMod 3.1 自编译版 20180524 更新
  12. Origin画图技巧之柱状图优化
  13. 算法程序-通过log重现计算过程
  14. 中国工程咨询行业十四五投资机会与运营风险评估报告2022-2028年
  15. 磨金石教育摄影干货分享|风光摄影后期教程:冷色调变暖色调
  16. form-group 两种常用使用
  17. 计算机各配置性能如何区分,怎么测试电脑性能?判断电脑性能主要看什么?
  18. Pinta 1.0发布
  19. rust如何在木板上上传图片_腐蚀rust游戏玩法方式详解
  20. Unity常见插件汇总

热门文章

  1. 【SQL 提示 之二】index_ss Index Skip Hint
  2. 老项目Xcode5.1编译器错误
  3. puppet报告系统 dashboard
  4. 机器学习分类算法综述
  5. Corosync与Pacemaker实现nfs作为共享存储的MySQL高可用
  6. PetShop 4.0知识点:base 关键字用于从派生类中访问基类的成员
  7. 小白学爬虫——第一部分:简单学习Python
  8. oracle数据库常用操作语句
  9. 安装Hyper-v Server 2016
  10. MDT2010-windows 7镜像捕获与模板镜像部署(二)(特别版)