diff --git a/packages/react-native/__typetests__/globals.tsx b/packages/react-native/__typetests__/globals.tsx index 1776431bedd..69b6255eefd 100644 --- a/packages/react-native/__typetests__/globals.tsx +++ b/packages/react-native/__typetests__/globals.tsx @@ -145,6 +145,24 @@ function testRequestAnimationFrame(){ ); } +function testQueueMicrotask() { + const result: void = queueMicrotask(noop); + console.log(result); + + queueMicrotask(() => { + console.log('microtask'); + }); + + // @ts-expect-error + queueMicrotask(); + + // @ts-expect-error + queueMicrotask('wrong-type'); + + // @ts-expect-error + queueMicrotask(noop, 'extra-arg'); +} + function testRequestIdleCallback() { cancelIdleCallback(null); cancelIdleCallback(undefined); diff --git a/packages/react-native/src/types/globals.d.ts b/packages/react-native/src/types/globals.d.ts index 2e5bf77c578..e1a67d68ac7 100644 --- a/packages/react-native/src/types/globals.d.ts +++ b/packages/react-native/src/types/globals.d.ts @@ -184,6 +184,7 @@ declare global { handler: (...args: Args) => void, ...args: Args ): number; + function queueMicrotask(callback: () => void): void; function cancelAnimationFrame(handle: number | null | undefined): void; function requestAnimationFrame(callback: (time: number) => void): number;