vendor/opentok.js
function executeListenersSyncronously(name, args) { // defaultAction is not used
        var listeners = api.events[name];
        if (!listeners || listeners.length === 0) return;

        $.forEach(listeners, function(listener) { // index
          (listener.closure || listener.handler).apply(listener.context || null, args);
        });
      }
function executeListenersSyncronously(name, args) { // defaultAction is not used
        var listeners = api.events[name];
        if (!listeners || listeners.length === 0) return;

        $.forEach(listeners, function(listener) { // index
          (listener.closure || listener.handler).apply(listener.context || null, args);
        });
      }
function executeListenersSyncronously ( name , args ) { // defaultAction is not used var listeners = api . events [ name ] ; if ( ! listeners || listeners . length === 0 ) return ; $ . forEach ( listeners , function ( listener ) { // index ( listener . closure || listener . handler ) . apply ( listener . context || null , args ) ; } ) ; }
This is identical to executeListenersAsyncronously except that handlers will be executed syncronously.  On completion the defaultAction handler will be executed with the args.  @param [Array] listeners An array of functions to execute. Each will be passed args.  @param [Array] args An array of arguments to execute each function in  +listeners+ with.  @param [String] name The name of this event.  @param [Function, Null, Undefined] defaultAction An optional function to execute after every other handler. This will execute even if +listeners+ is empty. +defaultAction+ will be passed args as a normal handler would.  @return Undefined
This is identical to executeListenersAsyncronously except that handlers will be executed syncronously . On completion the defaultAction handler will be executed with the args .