ES6——generator-yield
2024-10-07 11:51:45
yield
既可传参,又可以返回
第一个
next()
传参无效,只用来启动
如果函数前漏掉
*
就是普通函数
如果有
yield
会报错,ReferenceError: yield is not defined
yield 只能在Generator函数内部使用
function * show() {
console.log('1')
var a = yield
console.log('2')
console.log(a)
}
// yield 传参
var gen = show()
gen.next() //
gen.next() // 2 和 undefined 因为没有传参,yield没有返回值
var gen = show()
gen.next(10) // 1 第一次执行到yield,但没有执行赋值
gen.next(20) // 2 和 20 function* show2() {
console.log('1')
yield 10
console.log('2')
}
// yield 返回
var gen = show2()
var res1 = gen.next()
console.log(res1) // { value: 10, done: false }
var res2 = gen.next()
console.log(res2)
// { value: undefined, done: true } 最后的value需要return返回
最新文章
- Hangfire项目实践分享
- 应用市场中包名(package name)的唯一性
- string与int互换
- 通过ipv6访问 g o o g l e
- Oracle的优化器介绍
- MVVM架构~前台后台分离的思想与实践
- noip2015-day1-t2
- 对bootstrap modal的简单扩展封装
- [转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言
- 【转】Log4.NET mark
- dirname(__FILE__) 的使用总结
- cocos2dx 3.1创建工 mac
- Oracle merge into 使用记录
- knockout简单实用教程3
- 浅析C++基础知识
- hdu_2159_FATE(完全背包)
- C++入门篇三
- 数组中出现次数超过一半的数字(python)
- 012-Future、FutureTask、CompletionService 、CompletableFuture
- 5分钟让你明白HTTP协议