// |reftest| shell-option(--enable-promise-try) skip-if(!Promise.try||!xulRuntime.shell)
{ // Check the value of `this` in the callback is undefined.
let this_ = {};
Promise.try(function () { "use strict";
this_ = this;
});
drainJobQueue();
assertEq(this_, undefined);
}
{ // Error when the `resolve` function passed by a custom promise subclass throws.
let resolveCalled = false;
let rejectCalled = false;
let expectedError = new Error("foo");
class CustomPromise {
constructor(executor) {
let resolve = () => {
resolveCalled = true; throw expectedError;
};
let reject = () => rejectCalled = true;
executor(resolve, reject);
}
}
let errorThrown = undefined; try {
Promise.try.call(CustomPromise, function () {});
} catch (e) {
errorThrown = e;
}
drainJobQueue();
{ // Error when the `reject` function passed by a custom promise subclass throws.
let resolveCalled = false;
let rejectCalled = false;
let expectedError = new Error("foo");
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.