当前位置:   article > 正文

JS详解-Generator核心语法

JS详解-Generator核心语法

Generator介绍:是ES6提供的一种异步解决方案

Generator核心语法:

        Generator对象是由生成器函数返回并且符合可迭代协议和迭代器协议(生成器函数在执行时能暂停,后面又能从暂停处继续执行)。

        Iterator 对象是一个符合迭代器协议的对象,其提供了 next() 方法用以返回迭代器结果对象。所有内置迭代器都继承自 Iterator 类。Iterator 类提供了 @@iterator 方法,该方法返回迭代器对象本身,使迭代器也可迭代。它还提供了一些使用迭代器的辅助方法。

        注意:使用.next方法后有返回Props对象{value,done}其中value代表执行yield 后的值,done代表是否执行完毕,false为未完成,true完成

        

  1. // 1.定义生成器函数
  2. // 函数名后面加*表示生成器函数
  3. function* ianGenerator(){
  4. console.log('start')
  5. // 使用yield关键字暂停执行
  6. const res = yield 'hello'
  7. console.log('res:',res)
  8. console.log('end')
  9. yield 'ian'
  10. yield 'hello'
  11. yield 'world'
  12. }
  13. // 2.创建生成器对象
  14. const ian = ianGenerator()
  15. // 3.调用生成器对象的next方法
  16. const res1 = ian.next()
  17. console.log(res1)
  18. const res2 = ian.next('world')
  19. console.log(res2)
  20. const res3 = ian.next()
  21. console.log(res3)
  22. const res4 = ian.next()
  23. console.log(res4)
  24. const res5 = ian.next()
  25. console.log(res5)
  26. // 4、使用for of循环遍历生成器对象
  27. for(const iterator of ian){
  28. console.log(iterator)
  29. }

Generator管理异步:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/375233
推荐阅读
相关标签
  

闽ICP备14008679号