bin/bi-service.js
function _setImmediate(fn) {
    let args = Array.prototype.slice.call(arguments, 1);
    return new Promise(function(resolve, reject) {
        setImmediate(function() {
            try {
                fn.apply(this, args);
            } catch(e) {
                return reject(e);
            }
            resolve();
        });
    });
}
function _setImmediate(fn) {
    let args = Array.prototype.slice.call(arguments, 1);
    return new Promise(function(resolve, reject) {
        setImmediate(function() {
            try {
                fn.apply(this, args);
            } catch(e) {
                return reject(e);
            }
            resolve();
        });
    });
}
function _setImmediate ( fn ) { let args = Array . prototype . slice . call ( arguments , 1 ) ; return new Promise ( function ( resolve , reject ) { setImmediate ( function ( ) { try { fn . apply ( this , args ) ; } catch ( e ) { return reject ( e ) ; } resolve ( ) ; } ) ; } ) ; }
setImmediate which returns a Promise
@return <Promise>
setImmediate which returns a Promise