I'm not sure why jQuery isn't using the built in Promise with v3, and/or requiring or even including a shim, only if it isn't available/set. I know that bluebird will show an error if there's an uncaught rejection in their implementation, pretty sure browsers are heading in that direction.