How Does A Thenable Object Get Rejected In JavaScript?
I know that a thenable has the then method, but how does Promise know the state of the thenable objected has moved to rejected? Example: Here, $.ajax is a thenable and can be duckt
Solution 1:
A Promises/A+ then method does take two callbacks - one for the fulfilment and one for the rejection case. You would not use the .then(…).catch(…) pattern but .then(…, …) - the second callback is the "catch case" (notice that .catch(…) is nothing but .then(null, …)).
This is how thenables are assimilated - when the second callback gets called, they reject the promise with the error. Example:
var rejectingPromise = Promise.resolve({
then: function(onSuccess, onError) {
onError(new Error);
}
});
Post a Comment for "How Does A Thenable Object Get Rejected In JavaScript?"