¿Cuándo debo usar call () vs invocar la función directamente?

Tengo una aplicación de JavaScript que utiliza muchas devoluciones de llamada. Una función típica tomará una devolución de llamada y la envolverá con otra devolución de llamada.

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 el ejemplo anterior, ¿cuándo debería una configuración de este tipo la @ nativcall() método (pasando el resultado var como el segundo argumento) en lugar de invocartheir_on_success() y pasar el resultado mediante la invocación de función?

Respuestas a la pregunta(6)

Su respuesta a la pregunta