generator是ES6里面的语法,英文翻译过来就是生成器的意思,还有两个英文yield(放弃),next(下一步),先把这几个词的意思搞清楚,对学习东西也有帮助。
好,接下来进入我们的主要环节。
一、什么是generator函数?
二、为什么要有他?
三、他有什么用?有那些语法?
第一个问题:看了一篇技术文章
形式上:就是一普通函数,整个generator函数就像是一个异步任务器。怎么个普通法?接下来会结合实例说明。
语法上:可以说运用yield作为中断执行函数的方法,运用next执行yield之下的程序。等会结合例子看一下就明白
第二个问题:
这个就得结合场景来解释了,比方说,我这个函数yield后面的程序是在操作数据,而我们要先请求数据之后才能操作,因为请求数据,有的快有的慢。那为了保证一定能够获取到数据之后再执行,就可以使用我们这个generator函数了。不懂那就结合一下例子。
第三个问题:
yield 就是来中断它之下的程序
generatorObj.next() 执行yield后面的程序
function *函数名{} 形式上和普通函数的区别在于函数名画了个*
想了解更多详细用法:点击这里
喜欢的点个赞。