Actually event emitters already call in the scope of the emitter, so there is no need for a specific "this" value there. Just subclass EventEmitter and use normal methods.
On Fri, Jun 8, 2012 at 1:34 PM, AJ ONeal <coola...@gmail.com> wrote: > If you're going to use `this` then you must have a callback. It would make > no sense to have a `this` and nothing to apply it to. > > You think EventEmitters would feel the overhead of the if? > > // context is Array, Object, or Function. > // Numbers, Strings, and Booleans need not `apply` (very punny) > if (context) { > fn.call(context, a, b, c); > } else { > fn(a, b, c); > } > > As far as the guesswork, well, I hear you on that. I've already done my > ranting at UtahJS Conf. Put this as one more in the bucket of reasons that > callbacks-last was not a well-thought out idea.... > > > AJ ONeal > > > > On Fri, Jun 8, 2012 at 12:27 PM, Tim Caswell <t...@creationix.com> wrote: > >> I think it's a useful addition, but it does cause a little overhead >> (though it's probably not noticeable compared to the actual work the async >> function is doing). EventEmitters might feel the pain since they are sync. >> I do worry that it makes things harder for our argument guessing code that >> assumes the last arg is a callback. Now there will be an optional argument >> after the callback that can be anything (including another function) >> >> >> On Fri, Jun 8, 2012 at 1:18 PM, AJ ONeal <coola...@gmail.com> wrote: >> >>> Yes, That's what I am suggesting. >>> >>> AJ ONeal >>> >>> >>> On Fri, Jun 8, 2012 at 12:17 PM, Tim Caswell <t...@creationix.com> wrote: >>> >>>> So this proposal is to modify the API of all async functions to have an >>>> extra thisp argument after the callback argument (like done in >>>> Array.prototype.forEach)? >>>> >>>> >>>> On Fri, Jun 8, 2012 at 1:06 PM, AJ ONeal <coola...@gmail.com> wrote: >>>> >>>>> I would like to propose that an additional parameter, `context` be >>>>> added to core node modules that accept callbacks to give this-ness to the >>>>> callback. >>>>> >>>>> The reason being is that I'm trying to eliminate anonymous callbacks >>>>> from my code and have generally cleaner, more readable code (as well as >>>>> lower memory usage and less garbage collection). >>>>> >>>>> I don't know if this has been discussed before, but I'd like to put it >>>>> on the table. >>>>> >>>>> AJ ONeal >>>>> >>>> >>>> >>> >> >