defer.js (441B)
1 module.exports = defer; 2 3 /** 4 * Runs provided function on next iteration of the event loop 5 * 6 * @param {function} fn - function to run 7 */ 8 function defer(fn) 9 { 10 var nextTick = typeof setImmediate == 'function' 11 ? setImmediate 12 : ( 13 typeof process == 'object' && typeof process.nextTick == 'function' 14 ? process.nextTick 15 : null 16 ); 17 18 if (nextTick) 19 { 20 nextTick(fn); 21 } 22 else 23 { 24 setTimeout(fn, 0); 25 } 26 }