From 7b928f079c1045838cb00a28133fab2c20be0f2d Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Fri, 6 Jun 2014 16:22:47 -0500 Subject: [PATCH] utils: improve nextTick. --- lib/bcoin/utils.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index 5de833ce..44ac8387 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -372,9 +372,18 @@ utils.isEqual = function isEqual(a, b) { return true; }; -// TODO(indutny): use process.nextTick in node.js utils.nextTick = function nextTick(fn) { - setTimeout(fn, 0); + if (typeof setImmediate === 'function') { + setImmediate(fn); + return; + } + + if (typeof process === 'object' && process.nextTick) { + process.nextTick(fn); + return; + } + + setTimeout(fn, 1); }; function RequestCache() {