fix: raise an error during wizening for async functions given to addEventListener #689
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.
resolves #687
Below is what what it looks like if you try and register an async fetchevent handler
The fetch event handler function has to be sync and not async because the Event Model itself is synchronous and you can register multiple FetchEventHandlers.
If you pass an async function as the FetchEventHandler and await before your call to event.responseWith - then the FetchEventHandler will return a Promise, when the FetchEventHandler returns anything (step 24.3.12 of Handle Fetch algorithm), the specification states we need to check if the the respond-with flag has been set, and it would not have been set - we then need to call the next registered FetchEventHandler - doing the same steps, until one calls event.respondWith or we have called them all.
This thread has some more context: w3c/ServiceWorker#836