ES6-ES11新特性学习连载篇(5)

129 阅读1分钟

一、for... of for..of (循环时候输出键值) for..in (循环时候输出索引)

二、生成器,异步编程的新的解决方案

     function * gen(){
         console.log('hello generator');
     }
     
     let iterator = gen();
     iterator.next();//必须用next来调用执行
    
    //实例,文件操作,网络操作,数据库操作
    //1s后输出11 2秒后输出22 3秒后输出33
    function one(){
        setTimeout(()=>{
            console.log('11');
        },1000);
    }
     function two(){
        setTimeout(()=>{
            console.log('22');
        },2000);
    }
     function three(){
        setTimeout(()=>{
            console.log('33');
        },3000);
    }
    
    function * gen(){
        yield one();
        yield two();
        yield three();
    }
    
    let iterator = gen();

三、Promise(异步编程新解决方案)

  1. 基本使用方式

     const p = new Promise(function(resolve,reject){
         setTimeout(function(){
            // let data = '数据';
            // resolve(data);
             
             let err = 'fail';
             reject(err);
         },1000);
     });
     
     p.then(function(value){
         //成功的回调函数
     },function(res){
         //失败的回调函数
     })
     
    

    2、读取文件