Jose, thanks for the clarification.

Literally right after sending the mail I was thinking I forgot all about
event emitters :-)

In terms of error, are you saying that any time you emit an event called
"Error" the runtime exits if there is no listener?




On Mon, Feb 25, 2013 at 3:12 AM, José F. Romaniello
<[email protected]>wrote:

> +1 on event emitter. Callback with an array of errors is not that common.
> You should return an event emitter with complete and error events. be
> aware that when you emit an 'error' event and no one is listening in the
> application exits
>
>
> 2013/2/25 Pedro Teixeira <[email protected]>
>
>> Hey Glenn,
>>
>> For something this complex I think an event emitter may be better suited.
>>
>> --
>> Pedro
>>
>> On Monday, February 25, 2013 at 9:57 AM, Glenn Block wrote:
>>
>> Hello all
>>
>> Let's assume you have an API that results in a batch of HTTP calls which
>> fire async and which are not sequential. A constraint of the API is that
>> any errors that occur during the calls need to get returned to the user.
>>
>> How have you customarily designed this?
>>
>> One idea was something like the following
>>
>> function send(message, callback) {
>> }
>>
>> where callback is function(error, results) {
>> }
>>
>> In this case error if not null is a JSON object with a collection of
>> child objects with the errors.
>>
>> An alternative idea I had was to have an additional completion callback
>> per item.
>>
>> so:
>>
>> function send(message, completionCallback, itemCallback) {
>> }
>>
>> This introduces a callback for each item that is processed. In this case
>> the completion callback has a single error if ANY errors occur while the
>> itemCallback has individual errors as they occur.
>>
>> This is useful for cases where you might want to stop further processing
>> if the number of errors is very high.
>>
>> Thoughts / Experiences?
>> Glenn
>>
>>
>>
>>  --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>>
>>  --
>> --
>> Job Board: http://jobs.nodejs.org/
>> Posting guidelines:
>> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
>> You received this message because you are subscribed to the Google
>> Groups "nodejs" group.
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>> For more options, visit this group at
>> http://groups.google.com/group/nodejs?hl=en?hl=en
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nodejs" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to