var CircuitBreakerFactory = require( "@bennadel/circuit-breaker" ).CircuitBreakerFactory; var circuitBreaker = CircuitBreakerFactory.create(); // Invoke as closure. circuitBreaker.execute( function() { return( upstreamResource.load() ); } ); // Invoke as closure with context and arguments. circuitBreaker.executeInContext( upstreamResource, function( param1, param2 ) { return( this.load( param1, param2 ) ); }, [ "arg1", "arg2" ] ); // Invoke as method on an object. circuitBreaker.executeMethod( upstreamResource, "load", [ "arg1", "arg2" ] );