Allow marking of errors as handled for Bluebird
Set .handledRejection on an Error object to tell Bluebird that it's been handled and shouldn't be logged by onPossiblyUnhandledRejection().
This commit is contained in:
parent
1502985d98
commit
05de47149f
|
@ -96,13 +96,10 @@
|
|||
});
|
||||
// TEMP: Only turn on if debug logging enabled?
|
||||
Promise.onPossiblyUnhandledRejection(function (e, promise) {
|
||||
if (e.name == 'ZoteroPromiseInterrupt') {
|
||||
if (e.name == 'ZoteroPromiseInterrupt' || e.handledRejection) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Ignore some errors during tests
|
||||
if (e.message && e.message.indexOf(' -- ignore') != -1) return;
|
||||
|
||||
self.debug('Possibly unhandled rejection:\n\n' + e.message);
|
||||
throw e;
|
||||
});
|
||||
|
|
|
@ -246,6 +246,7 @@ ConcurrentCaller.prototype._processNext = function () {
|
|||
this._processNext();
|
||||
});
|
||||
|
||||
e.handledRejection = true;
|
||||
f.deferred.reject(e);
|
||||
});
|
||||
return true;
|
||||
|
|
|
@ -206,8 +206,10 @@ describe("ConcurrentCaller", function () {
|
|||
Zotero.debug("Throwing " + id);
|
||||
// This causes an erroneous "possibly unhandled rejection" message in
|
||||
// Bluebird 2.10.2 that I can't seem to get rid of (and the rejection
|
||||
// is later handled), so pass " -- ignore" to tell Bluebird to ignore it
|
||||
throw new Error("Fail -- ignore");
|
||||
// is later handled), so tell Bluebird to ignore it
|
||||
let e = new Error("Fail");
|
||||
e.handledRejection = true;
|
||||
throw e;
|
||||
}
|
||||
if (running > numConcurrent) {
|
||||
failed = true;
|
||||
|
@ -279,8 +281,10 @@ describe("ConcurrentCaller", function () {
|
|||
Zotero.debug("Throwing " + id);
|
||||
// This causes an erroneous "possibly unhandled rejection" message in
|
||||
// Bluebird 2.10.2 that I can't seem to get rid of (and the rejection
|
||||
// is later handled), so pass " -- ignore" to tell Bluebird to ignore it
|
||||
throw new Error("Fail -- ignore");
|
||||
// is later handled), so tell Bluebird to ignore it
|
||||
let e = new Error("Fail");
|
||||
e.handledRejection = true;
|
||||
throw e;
|
||||
}
|
||||
if (running > numConcurrent) {
|
||||
failed = true;
|
||||
|
|
Loading…
Reference in New Issue
Block a user