发电机和设定值/完成产量
generator and setting value/done on the yield
本文关键字:发电机 更新时间:2023-09-26
如果我创建了一个自定义生成器,我可以根据自己的意愿设置值/done,但我认为使用es6生成器会出错,因为我似乎无法按照自己的意愿设定值/done。当我设置某个东西时,它都进入"值",但生成器返回"done:false"——我试图强制一个"done:true"
var A = [
{id: 1, page: 'page one'},
{id: 2, page: 'page two'},
{id: 3, page: 'page three'},
{id: 4, page: 'page four'},
]
function* gen(iteree) {
let input = yield null
while(true)
input = yield iteree(input) ? iteree(input) : { done: true}
}
// this will be built out more, just showing a
// passing of a function here
let inter = (a) => {
return A[a]
}
let c = gen(inter)
console.log(c.next())
console.log(c.next(4)) // <-- **I want this to yield {value: null, done: true}**
,但它会产生:{value:{done:true},done:false}
"强制done
"将由return
完成。在发电机中时
yield 4;
// {value: 4, done: false}
return 4;
// {value: 4, done: true}
以下是我在代码中创建您想要的答案的方法。
var A = [
{id: 1, page: 'page one'},
{id: 2, page: 'page two'},
{id: 3, page: 'page three'},
{id: 4, page: 'page four'},
]
function* gen(iteree) {
let input = yield null
while(input <= A.length) {
if(iteree(input)){
yield iteree(input)
}else{
return null;
}
}
}
// this will be built out more, just showing a
// passing of a function here
let inter = (a) => {
return A[a]
}
let c = gen(inter)
console.log(c.next())
console.log(c.next(4))
相关文章:
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- 准备在发电机转轮中重复使用的函数
- 约曼发电机有棱角的咕哝发球:dist打断了我的应用程序
- Redux Saga连接多个发电机进行存储
- 发电机查询中的运算符OR
- 发电机和设定值/完成产量
- 约曼发电机命名
- ES6 发电机与$http服务
- 发电机,承诺和共同或然后收益
- 延伸角形约曼发电机
- KOA:发电机不要去下一个
- ES6异步发电机结果
- 发电机没有产量
- 发电机'浏览器支持
- 约曼发电机角度构建任务工作不正常
- 自定义约曼发电机可以't覆盖文件
- Yo发电机子发电机不可用.在安装NPM时,它不会拉下所有的代码
- ECMA和谐-回调到发电机
- 发电机和“产量”在浏览器之外
- 约曼发电机,grunt: grunt-usemin与grunt-rev的正确使用