Re: [whatwg/dom] Expose an `aborted` promise on AbortSignal? (#946)

One thing to point out since I'm seeing folks duplicate the `addEventListener()` and promise reject/resolve logic in their wrappers... There is the `require('events').once` utility in Node.js that wraps an `EventEmitter` *or `EventTarget`* with a promise that resolves when a given event is emitted... so... for instance...

```js
const { const } = require('events');

const ac = new AbortController();

once(ac.signal, 'abort').then(() => console.log('aborted!'))

ac.signal();
```

... is something that just works.

The `once()` utility itself accepts a `signal` that can be used to cancel waiting (cancel waiting for the abort) as a way of preventing memory leaks.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/946#issuecomment-845984248

Received on Friday, 21 May 2021 14:21:28 UTC