Adds a rejection handler to a promise, and returns a new promise that resolves to the return value of the callback, or to its original fulfillment value if the handler is not called. This is a synchronous operation, and the new promise will be "pending" while the inner promise is being fulfilled or rejected. See also reject(false) and resolve(false). (This is the same as add(rejection) except that it takes an argument and is called asynchronously instead of synchronously).)