UNPKG

video-ad-sdk

Version:

VAST/VPAID SDK that allows video ads to be played on top of any player

26 lines (25 loc) 637 B
import { once } from './once'; export const waitFor = (element, event) => { let pending = true; let resolvePromise; let rejectPromise; const promise = new Promise((resolve, reject) => { resolvePromise = resolve; rejectPromise = reject; }); const cancelOnce = once(element, event, (...args) => { pending = false; resolvePromise(args); }); const cancel = () => { if (pending) { pending = false; cancelOnce(); rejectPromise(new Error('waitFor was canceled')); } }; return { cancel, promise }; };