carina
Version:
A NodeJS and Browser compatible client for Mixer.com's constellation socket.
21 lines • 696 B
JavaScript
import { EventTimeoutError } from './errors';
/**
* Returns a promise that's resolved when an event is emitted on the
* EventEmitter.
*/
export function resolveOn(emitter, event, timeout) {
if (timeout === void 0) { timeout = 120 * 1000; }
return new Promise(function (resolve, reject) {
var timer;
var listener = function (data) {
clearTimeout(timer);
resolve(data);
};
emitter.once(event, listener);
timer = setTimeout(function () {
emitter.removeListener(event, listener);
reject(new EventTimeoutError(event));
}, timeout);
});
}
//# sourceMappingURL=util.js.map