mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
timers: refactor to use module.exports
PR-URL: https://github.com/nodejs/node/pull/26583 Refs: https://github.com/nodejs/node/issues/26546 Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
84156cf10e
commit
4980cc7d9b
@ -185,16 +185,15 @@ function decRefCount() {
|
||||
|
||||
// Schedule or re-schedule a timer.
|
||||
// The item must have been enroll()'d first.
|
||||
const active = exports.active = function(item) {
|
||||
function active(item) {
|
||||
insert(item, true, getLibuvNow());
|
||||
};
|
||||
}
|
||||
|
||||
// Internal APIs that need timeouts should use `_unrefActive()` instead of
|
||||
// `active()` so that they do not unnecessarily keep the process open.
|
||||
exports._unrefActive = function(item) {
|
||||
function _unrefActive(item) {
|
||||
insert(item, false, getLibuvNow());
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
// The underlying logic for scheduling or re-scheduling a timer.
|
||||
//
|
||||
@ -406,12 +405,6 @@ function unenroll(item) {
|
||||
item._idleTimeout = -1;
|
||||
}
|
||||
|
||||
exports.unenroll = util.deprecate(unenroll,
|
||||
'timers.unenroll() is deprecated. ' +
|
||||
'Please use clearTimeout instead.',
|
||||
'DEP0096');
|
||||
|
||||
|
||||
// Make a regular object able to act as a timer by setting some properties.
|
||||
// This function does not start the timer, see `active()`.
|
||||
// Using existing objects as timers slightly reduces object overhead.
|
||||
@ -426,11 +419,6 @@ function enroll(item, msecs) {
|
||||
item._idleTimeout = msecs;
|
||||
}
|
||||
|
||||
exports.enroll = util.deprecate(enroll,
|
||||
'timers.enroll() is deprecated. ' +
|
||||
'Please use setTimeout instead.',
|
||||
'DEP0095');
|
||||
|
||||
|
||||
/*
|
||||
* DOM-style timers
|
||||
@ -476,18 +464,14 @@ setTimeout[internalUtil.promisify.custom] = function(after, value) {
|
||||
});
|
||||
};
|
||||
|
||||
exports.setTimeout = setTimeout;
|
||||
|
||||
|
||||
const clearTimeout = exports.clearTimeout = function clearTimeout(timer) {
|
||||
function clearTimeout(timer) {
|
||||
if (timer && timer._onTimeout) {
|
||||
timer._onTimeout = null;
|
||||
unenroll(timer);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
exports.setInterval = function setInterval(callback, repeat, arg1, arg2, arg3) {
|
||||
function setInterval(callback, repeat, arg1, arg2, arg3) {
|
||||
if (typeof callback !== 'function') {
|
||||
throw new ERR_INVALID_CALLBACK();
|
||||
}
|
||||
@ -517,14 +501,14 @@ exports.setInterval = function setInterval(callback, repeat, arg1, arg2, arg3) {
|
||||
active(timeout);
|
||||
|
||||
return timeout;
|
||||
};
|
||||
}
|
||||
|
||||
exports.clearInterval = function clearInterval(timer) {
|
||||
function clearInterval(timer) {
|
||||
// clearTimeout and clearInterval can be used to clear timers created from
|
||||
// both setTimeout and setInterval, as specified by HTML Living Standard:
|
||||
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval
|
||||
clearTimeout(timer);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Timeout.prototype.unref = function() {
|
||||
@ -739,10 +723,7 @@ setImmediate[internalUtil.promisify.custom] = function(value) {
|
||||
return new Promise((resolve) => new Immediate(resolve, [value]));
|
||||
};
|
||||
|
||||
exports.setImmediate = setImmediate;
|
||||
|
||||
|
||||
exports.clearImmediate = function clearImmediate(immediate) {
|
||||
function clearImmediate(immediate) {
|
||||
if (!immediate || immediate._destroyed)
|
||||
return;
|
||||
|
||||
@ -760,4 +741,23 @@ exports.clearImmediate = function clearImmediate(immediate) {
|
||||
immediate._onImmediate = null;
|
||||
|
||||
immediateQueue.remove(immediate);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
_unrefActive,
|
||||
active,
|
||||
setTimeout,
|
||||
clearTimeout,
|
||||
setImmediate,
|
||||
clearImmediate,
|
||||
setInterval,
|
||||
clearInterval,
|
||||
unenroll: util.deprecate(
|
||||
unenroll,
|
||||
'timers.unenroll() is deprecated. Please use clearTimeout instead.',
|
||||
'DEP0096'),
|
||||
enroll: util.deprecate(
|
||||
enroll,
|
||||
'timers.enroll() is deprecated. Please use setTimeout instead.',
|
||||
'DEP0095')
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user