Currently, it's not allowed that arrow functions be generators. I did a
bit of searching and couldn't find the original reasoning behind this.
`*() => {}` doesn't seem to be a problematic grammar since `foo * () =>
{}` isn't valid. The problem I do see is the mismatch between the
generator class hierarchy and the fact that arrow functions don't have
prototypes. I think this could be worked around somehow though.
The use case I've started running into a lot is using Task.js with methods:
```js
class Foo {
foo() { //--> Promise
return Task.spawn(*() => {
const value = yield this.get(this.base + "/foo");
if (yield this.bar(value)) {
return true;
}
});
}
bar(value) { //--> Promise
/***/
}
get(url) { //--> Promise
/***/
}
}
```
Without generator arrows, I'm back to using `var self = this` or
`.bind(this)`.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss