(win = env_?.win)
| 47 | * @return {Promise<void>} |
| 48 | */ |
| 49 | export 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. |
no test coverage detected