zoukankan      html  css  js  c++  java
  • ES6(Generator)

      Generator

    1.基本概念

    异步编程的一种解决方案

    2.next 函数的用法

    见代码

    3.yield* 的用法

    见代码

    一、基本定义

    2.使用 Generator 作为遍历器的返回值

    通过 Generator 函数的方式

    3.状态机

    有 A B C 三种状态去描述一个事物,A-B、B-C、C-A,永远不会与第四种状态,用 Generator 处理这种状态机是特别适用的。

     

    1.调用 let 方法运行第一个 yield  2.next 到 yield 'B'  3.再next 到 yield ‘C’ 4.应为是 while(1),所以又回到 Yield 'A'.

    通过这种方式即可不断的获取状态机当前的状态

    2.async

    async 是 Generator 的语法糖(结果与上述相同)

    二、实例

    1.抽奖(次数限制)

    while (count>0)   (对抽奖次数的限制)

    yield draw(count)  (具体的操作逻辑)

     let star =residue(5)   (将 Generator 实例化,实际中的参数应为后台传输来的)

    结果:

      

      

      

      

       (继续点击无用,不再执行)

    2.长轮询

    服务端的某个服务状态定期变化,前端需要定时获取这个服务端状态,应为 http 是无状态的,不知道其连接,实时取到这种服务器变化有两种方式:

    1.长轮询

    2.wordsocket(不常用)

     实例:

    1.模拟 ajax 过程

    2.轮询过程(执行后端通信)

    结果:

    若服务端返回数据为 1

     

    则结果:

       ....

    不断轮询

  • 相关阅读:
    电子商务运营模式
    PHP 常用资源
    Ajax 常用资源
    java 常用资源
    Net 常用资源
    Web App 响应式页面制作 笔记整理
    移动端click事件延迟300ms该如何解决
    阻止冒泡事件
    关于jquery stopPropagation()阻止冒泡事件
    集算器如何处理类文本数据计算
  • 原文地址:https://www.cnblogs.com/jianghao233/p/8975229.html
Copyright © 2011-2022 走看看