ES6生成器用法实例分析

前端之家收集整理的这篇文章主要介绍了ES6生成器用法实例分析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了ES6生成用法分享给大家供大家参考,具体如下:

语法

何为生成器?让我们先看看以下代码

你没有看错,这就是JavaScript代码。是不是和你曾经认识的javascript不太一样。这个函数就叫做生成函数生成函数看起来和普通的函数是不是有点相像呢?

它们的区别如下:

一般的函数以function开头,而生成函数以function* 开头。

生成函数中有一个特殊关键字就是yield,作用就是暂停函数。配合next方法调用可以达到一步一步的执行函数的目的。

我们看看next方法的使用:

var iter = quips("lf"); [object Generator] > iter.next() { value: "hello lf!",done: false } > iter.next() { value: "i hope you are enjoying the blog posts",done: false } > iter.next() { value: "see you later!",done: false } > iter.next() { value: undefined,done: true }

可以看到,每一次next方法后,生成函数就执行到下一个yield位置处。

基本的生成器语法就讲完了。

应用

生成器可以用来异步编程,我在之前的文章中有过介绍,可以参考前面一篇《

但是需要注意的是,生成器并不是用来写异步的,这仅仅是一种hack手段而已。

希望本文所述对大家ECMAScript程序设计有所帮助。

原文链接:https://www.f2er.com/js/40100.html

猜你在找的JavaScript相关文章