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

使用Generator(明天补全思路)

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

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

    传统方法

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

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

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

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

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

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

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

    相关文章

      网友评论

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

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