One of the common mistake which I have seen like this.

var connect = function(callback) {
    var b = new Obj();
    b.once('connect', function() {
        callback.apply(null, []);
    });
   
    b.once('error', function(error) {
        callback.apply(null, [error]);
    });

    b.once('timeout', function(error) {
        callback.apply(null, [error]);
    });

};

var execute = function (data, callback) {
    connect(function(err) {
    if(err) {
       callback.apply(null, [err]);
       return;
    }

    //Do something,
    callback.apply(null, []);
    });
} ;


In this situation *execute() *is the function of the third party module 
which I am using, and this callback gets called multiple times on some odd 
situation. Most of the case its like a connect is successfully fired and 
after that an error is being fired. By the time error is being called I 
will have successfully completed all my operations. This is just a sample. 



On Wednesday, 2 October 2013 20:08:05 UTC+5:30, jmar777 wrote:
>
> In general, if you're seeing a callback invoked multiple times (when it 
> clearly shouldn't), you're not going to want to mask that problem on your 
> end.  You might get it to where your own callback is only invoked once, but 
> there can be some detrimental side effects on the other side.  That being 
> said, if you determine it's appropriate in your situation, I've got a 
> callback utility that helps with things like callback timeouts, multiple 
> calls, etc.: https://github.com/jmar777/cb
>
> On Tuesday, October 1, 2013 1:17:11 AM UTC-4, jeevan kk wrote:
>>
>> I am using different 3rd party modules in my project. I have seen, in 
>> some odd situations the 3rd party module which I am using is calling the 
>> callback multiple times. 
>>
>> Is there any general approach which I can follow so avoid such 
>> situations. 
>>
>

-- 
-- 
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