This is just the robustness principle/Postel's law: Be conservative in what
you send, be liberal in what you accept.

If you're implementing an API, you should be consistent. If you're
consuming the API, you should be defensive. But honestly, people writing
node modules should follow the node patterns and never mix sync and async
behavior.


On Thu, Aug 22, 2013 at 12:44 PM, Eldar <[email protected]> wrote:

> I always followed the simple rule "callback may be called at any time" and
> I was pretty happy so far.
> The resulting code is more portable and simpler. Just use tail recursive
> algorithms and be happy.
>
> вторник, 20 августа 2013 г., 21:47:22 UTC+4 пользователь Bryan Donovan
> написал:
>
>> I have been writing node.js client code for a couple of years now, and
>> have authored a couple open source libraries, but somehow I missed the memo
>> telling me that I'm supposed to wrap 'synchrounous' callbacks in
>> process.nextTick().  I kind-of understand why that is a best-practice, but
>> what I don't understand is what the drawback is if you don't do it.
>>
>> For example, I write code like this all the time, and have never had a
>> single problem with it:
>>
>> function getSomething(args, cb) {
>>     if (!args) { return cb(new Error('args required')); }
>>     if (!args.id) { return cb(new Error('args.id required')); }
>>
>>     SomeDatabase.get({id: args.id}, cb);
>> }
>>
>> What are the potential issues with not wrapping those arg checks in
>> process.nextTick()?
>>
>>
>> Thanks,
>>
>> Bryan
>>
>  --
> --
> 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