Description
Hey, the issue of "what errors do we abort with?" was raised up multiple times in PRs by several users.
Other than "because of the primitive, aborting should always cause an error" I'm not sure we have consensus on anything.
I figured it would be useful to get interested parties in one room a-la-summit-style and talk this through.
Please feel free to suggest items for the agenda below.
Pinging people I talked to about this from Node in issues:
Pinging people I talked to about this as well but are not node core:
- @bterlson (TC39, azure SDK maintainer, looking into improving AbortSingal)
- @littledan (TC39, is Daniel a project member I always see him in events 😅 also very helpful and helping with this)
- @MadaraUchiha (wrote the HTTP2 AbortSignal PR)
- @benlesh (RxJS author whom I talked to a lot about AbortSignals and seemed interested).
I'm also going to ping @jakearchibald in case he can make it because I think his feedback would be very valuable, though I know he's busy - worth a shot :]
I want to make it clear that participation is not limited to the above people or to people from the Node org or any standards body. If you are interested in cancellation and feel like you can contribute to this decision please speak up and let me know.
Doodle
https://doodle.com/poll/ug26rc9cnmeuacr4
Agenda
- Overview of AbortSignal in the WHATWG DOM spec and their guidance regarding aborting actions.
- Discuss how user code typically aborts code and how controllers/signals are used.
- Discuss how user code typically checks for aborted operations:
- Do we want different aborts to have different
.code
s or the same code? - Do we want our AbortErrors for core APIs to be DOMExceptions or not? (e.g. backporting/userland code implications for readable-stream).
- How should users identify Abort errors? (Do we want to supply specific
code
s for Node specific APIs and provide.name === 'AbortError'
for web compatibility?
- Do we want different aborts to have different
Out of scope:
- Usability improvements for AbortSignal (very interesting, but not for this meting).