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));
|
||
|
}
|