You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What version of bluebird is the issue happening on?
v3.7.2
What platform and version? (For example Node.js 0.12 or Google Chrome 32)
GraalVM JS 20.1.0 (ES2020 but without Node.js APIs)
Did this issue happen with earlier version of bluebird?
No
Bluebird v3.7.2 throws an exception because setTimeout isn't defined. In v3.7.1 this didn't happen, presumably because of the check for typeof document === "object" etc.
org.graalvm.polyglot.PolyglotException: ReferenceError: setTimeout is not defined
at <js>.deferUnhandledRejectionCheck(search.js:49866) ~[?:?]
at <js>.Promise._ensurePossibleRejectionHandled(search.js:49888) ~[?:?]
at <js>.Promise._reject(search.js:52887) ~[?:?]
at <js>.Promise._rejectCallback(search.js:52677) ~[?:?]
at <js>.Promise.rejected(search.js:52385) ~[?:?]
The text was updated successfully, but these errors were encountered:
After some more debugging, I found the error in my code leading to this. I had in one case:
constf=Promise.reject(newError('foo'))
when I intended
constf=()=>Promise.reject(newError('foo'))
So at this point this issue is poorly titled and described, because it isn't related to the changes in v3.7.2.
Still, it seems like bluebird assumes that setTimeout will be available, but the JS environment might not provide it. Would it make sense to conditionalize the unhandled rejection check on the presence of setTimeout?
v3.7.2
GraalVM JS 20.1.0 (ES2020 but without Node.js APIs)
No
Bluebird v3.7.2 throws an exception because setTimeout isn't defined. In v3.7.1 this didn't happen, presumably because of the check for
typeof document === "object"
etc.The text was updated successfully, but these errors were encountered: