迭代器

迭代器(iterator)--------es6

  • 遍历就是一种迭代

  • 统一遍历方式:迭代器

  • 原生自带迭代器的对象

    • Array

    • String

    • arguments

    • Set

    • Map

    • NodeList

  • 有迭代器,就可以使用for..of

  • 有迭代器,都可以使用...进行扩展,(对象也可以扩展)

     

  • 原生使用迭代器

  1. 获取迭代器

    const it = arr[Symbol.iterator]();
    console.log(it)
  2. 通过方法next开始迭代

    let resObj = null
    while(!(resObj=it.next()).done){
    console.log(resObj.value);
    }
    console.log(it.next());//迭代器执行得到迭代结果对象{done:boole}

     

生成器(generrator)-------es6

function* gen(){//生成器函数 !==函数
//* yield(分段)
yield 1
conselo.log(9999);
}
const it gen()
console.log(it.next());

补充: 宏任务和微任务

 

常用promise方法

  • Promise.resolve(value);//想让代码异步时,最佳解决方案

Promise.resolve().then(()=>{
console.log(a);
})
let a = 10

//Promise.all(iterable)//处理并行任务时使用

//Promise.race(iterable)//处理并行任务时使用

应用

 

posted @ 2020-07-02 14:49  这样那样  阅读(129)  评论(0)    收藏  举报