Neo*_*Neo 2 javascript generator
如何将yield的值分配给变量?
function *foo() {
var x = yield "foo"
console.log(x);
}
let bar = foo()
bar.next() // returns {value: "foo", done: false}
bar.next() // returns {value: undefined, done: true}
//console.log logs undefined
Run Code Online (Sandbox Code Playgroud)
我的理解是您可以为变量赋值。
您确实将结果值分配给yield变量就好了。只是它确实undefined在您对生成器的特定使用中返回了。yield表达式的结果是您传递给next调用的参数,但您没有传递任何内容。试试这个:
function* foo() {
var x = yield "foo";
console.log(x);
return "baz";
}
var bar = foo();
bar.next(); // returns {value: "foo", done: false}
bar.next("bar"); // console.log logs "bar"
// returns {value: "baz", done: true}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
933 次 |
| 最近记录: |