You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
595 B
26 lines
595 B
10 months ago
|
|
||
|
export function eventOn(eventTarget, successEvent, errorEvent = "error") {
|
||
|
let $resolve, $reject;
|
||
|
|
||
|
const promise = new Promise((resolve, reject) => {
|
||
|
$resolve = resolve;
|
||
|
$reject = reject;
|
||
|
});
|
||
|
|
||
|
eventTarget.addEventListener(successEvent, $resolve);
|
||
|
eventTarget.addEventListener(errorEvent, $reject);
|
||
|
|
||
|
promise.finally(() => {
|
||
|
eventTarget.removeEventListener(successEvent, $resolve);
|
||
|
eventTarget.removeEventListener(errorEvent, $reject);
|
||
|
});
|
||
|
|
||
|
return promise;
|
||
|
}
|
||
|
|
||
|
export function timeout(delay) {
|
||
|
return new Promise(
|
||
|
resolve => setTimeout(resolve, delay)
|
||
|
);
|
||
|
}
|