update `on(readable)` to not rely on magical `this` binding
Pomax opened this issue · 0 comments
Pomax commented
This is an API update request.
Currently the README shows the following code:
feedparser.on('readable', function () {
// This is where the action is!
var stream = this; // `this` is `feedparser`, which is a stream
...
});
However, relying on non-standard ("magic") this
binding breaks the declaration model of modern JS (we can't use arrow functions now, for example), not to mention being essentially unnecessary: we can just make it the callback argument:
feedparser.on('readable', function (stream) {
...
});
Now we can use modern arrow functions too, without this
rebinding breaking things:
feedparser.on('readable', stream => this.handleStream(stream));