Fix nextTick recursive, use setImmediate