Fix flipped errored / ended handlers

This commit is contained in:
Ben Gotow 2016-07-12 12:15:46 -07:00
parent b0a6ec066b
commit 674da27296

View file

@ -218,19 +218,19 @@ class IMAPConnection extends EventEmitter {
}; };
onErrored = (error) => { onErrored = (error) => {
returned = true; returned = true;
reject(error || new Error("Unspecified IMAP error.")); reject(error);
}; };
this._imap.once('error', onEnded); this._imap.once('error', onErrored);
this._imap.once('end', onErrored); this._imap.once('end', onEnded);
const cresolve = (...args) => (!returned ? resolve(...args) : null) const cresolve = (...args) => (!returned ? resolve(...args) : null)
const creject = (...args) => (!returned ? reject(...args) : null) const creject = (...args) => (!returned ? reject(...args) : null)
return callback(cresolve, creject) return callback(cresolve, creject)
}).finally(() => { }).finally(() => {
if (this._imap) { if (this._imap) {
this._imap.removeListener('error', onEnded); this._imap.removeListener('error', onErrored);
this._imap.removeListener('end', onErrored); this._imap.removeListener('end', onEnded);
} }
}); });
} }