video-ad-sdk
Version:
VAST/VPAID SDK that allows video ads to be played on top of any player
18 lines (17 loc) • 589 B
JavaScript
export const waitFor = (creativeAd, event, timeout) => new Promise((resolve, reject) => {
let timeoutId;
const handler = () => {
if (typeof timeout === 'number') {
window.clearTimeout(timeoutId);
}
creativeAd.unsubscribe(handler, event);
resolve();
};
if (typeof timeout === 'number') {
timeoutId = window.setTimeout(() => {
creativeAd.unsubscribe(handler, event);
reject(new Error(`Timeout waiting for event '${event}'`));
}, timeout);
}
creativeAd.subscribe(handler, event);
});