Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Promise.reject(reason) often fires and ignores exceptions -- not debug friendly #144
The docs say "Promise.reject(dynamic reason) -> Promise" but the code does this:
So if "reason" is undefined or something that can't have a property defined like a string literal, then it throws and ignores it.
This doesn't crash, but if you're using "pause on all exceptions" in Chrome, it's annoying. Also, then the "isAsync" property won't exist... does that cause problems later?
If you like the existing behavior, then the docs should change to say that "reason" needs to be an object.
By spec a promise rejection reason can technically be a non-error like a string or a number or other absurd value but the non-spec extensions like
I guess notEnumerableProp could add a check to avoid throwing for that case