fix: don't swallow rejections in poll_value() #137
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Unblocks denoland/deno#20082.
Fixes three tangled issues:
JsRuntime::poll_value(promise)
swallows non-awaited rejections returned frompoll_event_loop()
whenpromise
is already settled.JsRuntime::poll_value(promise)
runs the event loop once even ifpromise
is already settled.JsRuntime::call_and_await()
needs to explicitly callcheck_promise_rejections()
at the end.Some test expectations might need to add
(in promise)
to error strings. These are correct. There's at least one in CLI repo: