MCPcopy
hub / github.com/ampproject/amphtml / afterRenderPromise

Function afterRenderPromise

testing/helpers/index.js:49–64  ·  view source on GitHub ↗
(win = env_?.win)

Source from the content-addressed store, hash-verified

47 * @return {Promise<void>}
48 */
49export function afterRenderPromise(win = env_?.win) {
50 const requestAnimationFrame =
51 win?.requestAnimationFrame ??
52 /** @type {(cb: () => void) => Promise<void>} */
53 (
54 async (cb) => {
55 await macroTask();
56 cb();
57 }
58 );
59 return new Promise(async (resolve) => {
60 requestAnimationFrame(() => {
61 resolve();
62 });
63 });
64}
65
66/**
67 * Returns a Promise that resolves upon the next frame being rendered after ms have passed.

Calls 3

macroTaskFunction · 0.85
cbFunction · 0.50
resolveFunction · 0.50

Tested by

no test coverage detected