我怎么能像这样调用生成器:
const scenarioProvider = (function*() {
....
}).bind(this)();
由箭头函数语法。我的意思是用新的 'lexical this' 替换 'bind(this)'。
我怎么能像这样调用生成器:
const scenarioProvider = (function*() {
....
}).bind(this)();
由箭头函数语法。我的意思是用新的 'lexical this' 替换 'bind(this)'。
这目前是不可能的,也不太可能包含在未来版本的 ecmascript 中。
只是为了让大家知道(会议记录,即将发布,将说明这一点),我们同意不做生成器箭头。这里确定的那种麻烦太多了......
根据定义,箭头函数是词法范围的。您不能使用带有箭头功能的生成器
但是请注意,您不能绑定箭头函数。
MDN声明:
与函数表达式相比,箭头函数表达式(也称为胖箭头函数)具有更短的语法,并在词法上绑定 this 值(不绑定自己的 this、arguments、super 或 new.target)。箭头函数始终是匿名的。