站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

es6中generator的用法是什么

时间:2022-05-06 [网络编程]作者:fabuyuan 浏览:6 次

es6中,generator用于封装异步任务,是一个异步任务的容器,可以让函数按照指定的时间执行或者暂停;定义该函数时在function关键字和函数名之间有一个星号(*),语法为“function *name(){..yield..}”。

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

es6中generator的用法是什么

Generator主要是异步编程,用来封装异步任务,是一个异步任务的容器,可以让函数按照我们指定的时候执行或者暂停。

定义一个Generator函数和定义一个普通函数的区别在于:

function关键字和函数名之间有一个 *(星号)。

函数内部使用yield来定义每一个函数内部的状态。

如果函数内部有return语句,那么他就是函数内部的最后一个状态。

使用语法:

function *name(){
...
yield; //需要暂停的时候加yield
...
yield;
...
}
const p = name();
p.next() //调用函数,执行到第一个yield处停止
p.next() //从上一个yeild开始执行,到下一个yield处为止

来看一个简单的例子:

// 定义
function* sayHello() {
  yield 'hello';
  yield 'world';
  return 'ending';
}
// 调用
// 注意,hw获取到的值是一个遍历器对象
let g = sayHello();

上面的例子,定义了一个名为sayHello的Generator函数,它内部有两个yield表达式和一个return表达式。所以,该函数内部有三个状态:hello,world 和 return语句(结束执行)。最后,调用这个函数,得到一个遍历器对象并赋值给变量g。

Generator函数的调用方法与普通函数完全一样,函数名()。不同的是:

  • 函数调用后,内部代码(从第一行开始)都不会立即执行。

  • 函数调用后会有一个返回值,这个值是一个指向内部状态的指针对象,实质就是一个包含函数内部状态的遍历器对象。

【相关推荐:javascript视频教程、web前端】

以上就是es6中generator的用法是什么的详细内容,更多请关注站长家园其它相关文章!

本文标签:  ES6

转载请注明来源:es6中generator的用法是什么

本文永久链接地址:https://www.adminjie.com/post/11997.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • mysql怎么查询空值

      mysql怎么查询空值

      在mysql中,可以利用SELECT语句配合ISNULL关键字来查询空值,ISNULL关键字用于判断字段的值是否为空值,若字段的值是空值,则显示在结果中,语...

    • php怎么将序列化数据转为数组

      php怎么将序列化数据转为数组

      转换方法:1、用“unserialize($str)”还原序列化数据;2、用json_encode()和json_decode()将还原后的数据转为数组类型,语...

    • php怎么增加数组的维度

      php怎么增加数组的维度

      两种方法:1、用array_chunk()将数组分割为新数组块(子数组),语法“array_chunk(数组,子数组元素个数)”。2、用array_merge_...

    • php怎么用新数组替换旧数组

      php怎么用新数组替换旧数组

      在php中,可以使用array_replace()函数将旧数组替换为新数组,语法为“array_replace(旧数组,新数组)”;该函数可以用第二个参数指定的...

    • php如何将对象转化为数组

      php如何将对象转化为数组

      两种方法:1、用json_encode将对象转为json数据,再用json_decode将json数据转为数组,语法“json_decode(json_enco...

    热门文章