美文网首页
使用Generator(明天补全思路)

使用Generator(明天补全思路)

作者: 吴高亮 | 来源:发表于2018-12-29 19:52 被阅读0次

今天需要想办法将这个状态管理函数用到一个现在的需求中;其中有这么需求就是管理签章的一个程序;

传统方法

ES6 诞生以前,异步编程的方法,大概有下面四种。

  • 回调函数
  • 事件监听
  • 发布/订阅
  • Promise 对象

Generator 函数将 JavaScript 异步编程带入了一个全新的阶段。
异步
所谓"异步",简单说就是一个任务不是连续完成的,可以理解成该任务被人为分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段。

比如,有一个任务是读取文件进行处理,任务的第一段是向操作系统发出请求,要求读取文件。然后,程序执行其他任务,等到操作系统返回文件,再接着执行任务的第二段(处理文件)。这种不连续的执行,就叫做异步。

相应地,连续的执行就叫做同步。由于是连续执行,不能插入其他任务,所以操作系统从硬盘读取文件的这段时间,程序只能干等着。

Generator 函数是协程在 ES6 的实现,最大特点就是可以交出函数的执行权(即暂停执行)。

整个 Generator 函数就是一个封装的异步任务,或者说是异步任务的容器。异步操作需要暂停的地方,都用yield语句注明。Generator 函数的执行方法如下。

相关文章

  • 使用Generator(明天补全思路)

    今天需要想办法将这个状态管理函数用到一个现在的需求中;其中有这么需求就是管理签章的一个程序; 传统方法 ES6 诞...

  • generator 使用注意事项

    记录下使用generator的注意点1 generator使用this如何处理 function * gen(){...

  • MyBatis Generator Maven插件使用

    title: MyBatis Generator Maven插件使用tags: MyBatis,Generator...

  • express脚手架

    express-generator 安装yarn global add express-generator 使用 ...

  • 一个jQuery面试题

    补全下面的代码 补全代码后: 思路:1.题目中的代码缺失具体的函数,因此 window.jQuery = ??? ...

  • 策略模式

    Generator概念,泛型中引入的。如果某个工具使用了Generator,那么你就可以通过选择Generator...

  • Koa2 搭建个人网站框架

    构建项目 安装koa-generator 使用koa-generator生成koa2项目 -e为使用ejes为模版...

  • SpringBoot使用Mybatis-Generator

    本文介绍如何将Maven和Mybatis-Generator配合使用。 简介 Mybatis-Generator是...

  • koa学习记录

    koa-generator 项目使用 koa-generator 创建,git地址 安装 创建项目 安装依赖 运行...

  • yeoman自定义脚手架工具

    yeoman的安装和基础使用 安装yeoman 安装对应的generator 通过yo运行generator 自定...

网友评论

      本文标题:使用Generator(明天补全思路)

      本文链接:https://www.haomeiwen.com/subject/hoiplqtx.html