Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为变量分配收益率响应_Javascript_Generator - Fatal编程技术网

Javascript 为变量分配收益率响应

Javascript 为变量分配收益率响应,javascript,generator,Javascript,Generator,如何将收益率赋值给变量 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 我的理解是你可以给变量赋值 我正在google

如何将收益率赋值给变量

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
我的理解是你可以给变量赋值


我正在google chrome中试用您确实可以将
yield
中的结果值分配给一个变量。只是它确实返回了
未定义的
,在您对生成器的特定使用中。
yield
表达式的结果是传递给
下一次调用的参数,但没有传递任何内容。请尝试以下方法:

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}

在发电机功能之外分配变量的位置是否可能重复?预期的结果是什么?