JSFiddle - React, Tailwind, and code Playground

by oroce

JavaScript

function Poller( opts ){
    var self = this;
    self.pollInterval = opts.interval,
    self.successCallback = opts.successCallback,
    self.errorCallback = opts.errorCallback,
    self.ajaxOpt = opts.ajaxOpt;
    
    
    self.getInterval = function(){
        return this.pollInterval;
    };
    
    self._success = function(){
        $.isFunction( self.successCallback ) ? self.successCallback.call( this, arguments.splice(0,1) ) : true;
        
        self.polling.call( self );
    };
    self._error = function(){}
    
    self.polling = function(){
        
        self._timeoutObj = setTimeout(function(){
            $.ajax( $.extend( {}, ajaxOpts, { success: _success, error:_error });
        }, self.pollInterval );
    
    };
      
    return self;
}