扫码关注官方订阅号
这是我在书上看见的 真心没见过这么写的?我是说 为什么函数那边必须写
小伙看你根骨奇佳,潜力无限,来学PHP伐。
*表示这是generator函数,翻译过来就是生成器,yield表示函数在此暂停,执行异步操作。是es6解决异步编程的方案,让我们能用同步的思维来编写异步的代码。
*
generator
生成器
yield
es6
同步
异步
具体可参考。关于异步编程,可以看看阮一峰的系列文章
异步编程
**通过星号声明的是generator 函数yield 关键字:yield 的值委托给另外一个生成器或者其他任意的可迭代对象**
https://developer.mozilla.org...*
ES6的特性,用于‘中断’代码的运行
这es6看得我一脸懵逼。
带*号表示是生成器,而在运行它的时候遇到yield就会终止执行直到你重新启动(it.next())就会接着从中断的位置往下继续执行,这就实现了执行函数时暂停的效果。
es6的generator
function* fibs() { var a = 0; var b = 1; while (true) { yield a; [a, b] = [b, a + b]; } } var [a,b,c,d,e,f]=fibs();
这个问题涉及到了几方面的知识。
1,一个是Iterator接口。2,除了for...of循环以外,扩展运算符(...)、解构赋值和Array.from方法内部调用的,都是遍历器接口。这意味着,它们都可以将Generator函数返回的Iterator对象,作为参数。Generator函数返回的是[Iterator]对象。参考。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
*表示这是generator函数,翻译过来就是生成器,yield表示函数在此暂停,执行异步操作。是es6解决异步编程的方案,让我们能用同步的思维来编写异步的代码。具体可参考。关于
异步编程,可以看看阮一峰的系列文章**通过星号声明的是generator 函数
yield 关键字:yield 的值委托给另外一个生成器或者其他任意的可迭代对象**
https://developer.mozilla.org...*
ES6的特性,用于‘中断’代码的运行
这es6看得我一脸懵逼。
带*号表示是生成器,而在运行它的时候遇到yield就会终止执行直到你重新启动(it.next())就会接着从中断的位置往下继续执行,这就实现了执行函数时暂停的效果。
es6的generator
这个问题涉及到了几方面的知识。