这篇文章主要介绍“es6中的yield怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“es6中的yield怎么用”文章能帮助大家解决问题。
在es6中,yield用于暂停和恢复一个遍历器函数的运行;yield是一个命令型的关键字,返回的结果是一个状态值,可以告诉程序当前的运行状态,作用就是暂停个恢复运行,语法为“[rv] = yield [expression];”
本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。
yield这个关键字是用来暂停和恢复一个遍历器函数(的运行)的。
yield是个关键字 ,它的作用是“命令”。和var不同,不是用来声明,但是和return一样,用来告知程序某种状态,return告诉程序要返回什么值(也意味着结束,结束的时候才会返回值嘛),而yield告诉程序当前的状态值,而且你运行到这里暂停一下。
yield是命令型的关键字,所以它的用法是:
[rv] = yield [expression];
rv是可选的,这里不是说它返回一个数组。yield后面的表达式也是可选的。yield的返回值是一个状态值。如果从返回值的角度讲,yield还可以当做是一种运算符,但是由于它的作用是暂停和恢复,所以严格意义上说,不能叫运算符,运算符是用来运算的,而yield是用来“命令”的。
把yield看作一个变量,字符串里面,可以这样使用:
var log = function *() { console.log(`you input: ${yeild}`) }().next(); // 这里会提示错误: yeild undefined log.next('hello world!');
总结一下yield,实际上:
只能在Generator函数内部使用
运行.next(),遇到一个yield命令,就暂停
.next()的返回值表示一个状态{value,done}
再运行.next(),从之前遇到的那个yield [表达式]处(后)继续恢复运行
当.next()传参的时候,yield [表达式]整个被替换为传入的参数。
关于“es6中的yield怎么用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。