oro:timers
oro:timers exposes timer primitives, promise-based sleeps, and scheduler helpers.
Examples#
Sleep without writing your own timeout wrapper:
import { sleep } from 'oro:timers'
await sleep(250)
console.log('quarter second elapsed')
API reference#
Module specifiers#
oro:timers
oro:timers/index
oro:timers/platform
oro:timers/promises
oro:timers/scheduler
oro:timers/timer
TypeScript declarations#
These declarations are generated from the runtime's published TypeScript surface.
oro:timers#
declare module "oro:timers" {
export * from "oro:timers/index";
export default exports;
import * as exports from "oro:timers/index";
}
oro:timers/index#
declare module "oro:timers/index" {
export function setTimeout(callback: any, delay: any, ...args: any[]): import("oro:timers/timer").Timer;
export function clearTimeout(timeout: any): void;
export function setInterval(callback: any, delay: any, ...args: any[]): import("oro:timers/timer").Timer;
export function clearInterval(interval: any): void;
export function setImmediate(callback: any, ...args: any[]): import("oro:timers/timer").Timer;
export function clearImmediate(immediate: any): void;
/**
* Pause async execution for `timeout` milliseconds.
* @param {number} timeout
* @return {Promise}
*/
export function sleep(timeout: number): Promise<any>;
export namespace sleep {
/**
* Pause sync execution for `timeout` milliseconds.
* @param {number} timeout
*/
function sync(timeout: number): void;
}
export { platform };
namespace _default {
export { platform };
export { promises };
export { scheduler };
export { setTimeout };
export { clearTimeout };
export { setInterval };
export { clearInterval };
export { setImmediate };
export { clearImmediate };
}
export default _default;
import platform from "oro:timers/platform";
import promises from "oro:timers/promises";
import scheduler from "oro:timers/scheduler";
}
oro:timers/platform#
declare module "oro:timers/platform" {
export namespace platform {
let setTimeout: any;
let setInterval: any;
let setImmediate: any;
let clearTimeout: any;
let clearInterval: any;
let clearImmediate: any;
let postTask: any;
}
export default platform;
}
oro:timers/promises#
declare module "oro:timers/promises" {
export function setTimeout(delay?: number, value?: any, options?: any): Promise<any>;
export function setInterval(delay?: number, value?: any, options?: any): AsyncGenerator<any, void, unknown>;
export function setImmediate(value?: any, options?: any): Promise<any>;
namespace _default {
export { setImmediate };
export { setInterval };
export { setTimeout };
}
export default _default;
}
oro:timers/scheduler#
declare module "oro:timers/scheduler" {
export function wait(delay: any, options?: any): Promise<any>;
export function postTask(callback: any, options?: any): Promise<any>;
namespace _default {
export { postTask };
export { setImmediate as yield };
export { wait };
}
export default _default;
import { setImmediate } from "oro:timers/promises";
}
oro:timers/timer#
declare module "oro:timers/timer" {
export class Timer extends AsyncResource {
[x: number]: () => {
args: any[];
handle(id: any, destroy: any): void;
};
static from(...args: any[]): Timer;
constructor(type: any, create: any, destroy: any);
get id(): number;
init(...args: any[]): this;
close(): boolean;
[Symbol.toPrimitive](): number;
#private;
}
export class Timeout extends Timer {
constructor();
}
export class Interval extends Timer {
constructor();
}
export class Immediate extends Timer {
constructor();
}
namespace _default {
export { Timer };
export { Immediate };
export { Timeout };
export { Interval };
}
export default _default;
import { AsyncResource } from "oro:async/resource";
}
See also#
Source repository · Edit this page · View Markdown