• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1module.exports = defer;
2
3/**
4 * Runs provided function on next iteration of the event loop
5 *
6 * @param {function} fn - function to run
7 */
8function 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}
27