| module.exports = defer; | |
| /** | |
| * Runs provided function on next iteration of the event loop | |
| * | |
| * @param {function} fn - function to run | |
| */ | |
| function defer(fn) | |
| { | |
| var nextTick = typeof setImmediate == 'function' | |
| ? setImmediate | |
| : ( | |
| typeof process == 'object' && typeof process.nextTick == 'function' | |
| ? process.nextTick | |
| : null | |
| ); | |
| if (nextTick) | |
| { | |
| nextTick(fn); | |
| } | |
| else | |
| { | |
| setTimeout(fn, 0); | |
| } | |
| } |