Quando devo usar call () vs invocando a função diretament

Eu tenho um aplicativo JavaScript que usa muitos retornos de chamada. Uma função típica recebe um retorno de chamada e envolve-a com outro retorno de chamad

Namespace.foo = function( arg, their_on_success ) {
    var my_on_success = function( result ) {
        console.log( 'my_on_success() called' );
        if( 'function' === typeof their_on_success ) {
              their_on_success( result );
        }
    }
    something( arg, my_on_success );
};

Dado o exemplo acima, quando essa configuração deve nos usar o @ naticall() (passando o resultado var como o segundo argumento) em vez de chamartheir_on_success() e passando o resultado via invocação de função?

questionAnswers(6)

yourAnswerToTheQuestion