1

我怎么能像这样调用生成器:

const scenarioProvider = (function*() {
    ....
}).bind(this)();

由箭头函数语法。我的意思是用新的 'lexical this' 替换 'bind(this)'。

4

2 回答 2

3

这目前是不可能的,也不太可能包含在未来版本的 ecmascript 中。

只是为了让大家知道(会议记录,即将发布,将说明这一点),我们同意不做生成器箭头。这里确定的那种麻烦太多了......

资料来源:Brendan Eich @esdiscuss

于 2015-11-12T20:19:30.660 回答
1

根据定义,箭头函数是词法范围的。您不能使用带有箭头功能的生成器

但是请注意,您不能绑定箭头函数。

MDN声明:

与函数表达式相比,箭头函数表达式(也称为胖箭头函数)具有更短的语法,并在词法上绑定 this 值(不绑定自己的 this、arguments、super 或 new.target)。箭头函数始终是匿名的。

于 2015-11-12T20:19:50.110 回答