12 lines
376 B
TypeScript
12 lines
376 B
TypeScript
type NextTickFn = (callback: () => void) => void;
|
|
const nextTickFn =
|
|
typeof setImmediate !== 'undefined'
|
|
? (setImmediate as NextTickFn)
|
|
: typeof requestAnimationFrame !== 'undefined'
|
|
? (requestAnimationFrame as NextTickFn)
|
|
: (setTimeout as NextTickFn);
|
|
|
|
export async function nextTickAsync() {
|
|
return new Promise<void>((resolve) => nextTickFn(resolve));
|
|
}
|