zoukankan      html  css  js  c++  java
  • ES6学习笔记七Generator、Decorators

    Generator异步处理

    {
        // genertaor基本定义,next()一步步执行
        let tell=function* (){
            yield 'a';
            yield 'b';
            return 'c'
        };
        let k=tell();
    
        console.log(k.next()); //{value: "a", done: false}
        console.log(k.next()); //{value: "b", done: false}
        console.log(k.next()); //{value: "c", done: true}
        console.log(k.next());//{value: undefined, done: true}
    
    }

    应用场景

    // 应用场景,变量变化的实时存储
    {
        let draw=function(count){
            // 具体抽奖逻辑
            console.info(`剩余${count}次`)
        }
    
        let residue=function *(count){
            while(count>0){
                count--;
                yield draw(count);
            }
        }
    
        let star=residue(5);
        let btn=document.createElement("button");
        btn.id='star';
        btn.textContent='抽奖';
        document.body.appendChild(btn);
        document.getElementById('star').addEventListener("click",function(){
            star.next();
        },false)
    }
    长轮询(服务端某个状态在变化,我们也需要实时去访问变化)
    {
        // 长轮询(服务端某个状态在变化,我们也需要实时去访问变化)
        let ajax=function* (){
            yield new Promise(function(resolve,reject){
                setTimeout(function(){
                    resolve({code:1})
                },200);
            })
        }
    
        let pull=function(){
            let genertaor=ajax();
            let step=genertaor.next();
            step.value.then(function(d){
                if(d.code!=0){
                    setTimeout(function(){
                        console.info('wait');
                        pull()
                    },1000);
                }else {
                    console.log(d);
                }
            })
        }
    
        pull();
    }

    Decorator函数修饰符,通过修饰器修改类的行为

  • 相关阅读:
    9、UmbracoNewsSite:分页
    7、UmbracoNewsSite:新闻详情页
    6、UmbracoNewsSite:添加新闻分类
    5、UmbracoNewsSite:添加css和js文件
    3、UmbracoNewsSite:文档类型设置
    书单
    文章
    Django-rest framework框架
    Django框架
    前端快速入门
  • 原文地址:https://www.cnblogs.com/qdlhj/p/9995685.html
Copyright © 2011-2022 走看看