UNPKG

@augment-vir/test

Version:

A universal testing suite that works with Mocha style test runners _and_ Node.js's built-in test runner.

26 lines (25 loc) 769 B
import { DeferredPromise } from '@augment-vir/common'; /** * Wait for an animation frame's duration. Optionally, wait for multiple frames by providing a * `frameCount` input. * * @category Web * @category Package : @augment-vir/web * @package [`@augment-vir/web`](https://www.npmjs.com/package/@augment-vir/web) */ export async function waitForAnimationFrame(frameCount = 1) { const deferredPromise = new DeferredPromise(); function requestNextFrame() { requestAnimationFrame(() => { frameCount--; if (frameCount) { requestNextFrame(); } else { deferredPromise.resolve(); } }); } requestNextFrame(); return deferredPromise.promise; }