- From: Domenic Denicola via GitHub <sysbot+gh@w3.org>
- Date: Thu, 20 Dec 2018 19:48:40 +0000
- To: public-device-apis-log@w3.org
domenic has just created a new issue for https://github.com/w3c/wake-lock:
== Consider using the platform's standard cancelation primitive, AbortSignal ==
Instead of a bespoke cancelable-request primitive with `WakeLockRequest`, instead use the `AbortSignal` primitive:
```js
const signal = new AbortSignal();
wakeLock.createRequest({ signal });
// ... later ...
signal.abort();
```
Although this may seem like slightly more typing, it has benefits of not inventing a bespoke new cancelation framework for people to learn, and also allows integration with other cancelable things on the platform. For example, a common pattern we're starting to see is that people want to cancel a bunch of things at once, using a single abort signal. Something like:
```js
const signal = new AbortSignal();
(await navigator.getWakeLock("screen")).createRequest({ signal });
(await navigator.getWakeLock("system")).createRequest({ signal });
const res = await fetch("https://example.com/", { signal });
// ...
cancelButton.onclick = () => signal.abort();
```
Please view or discuss this issue at https://github.com/w3c/wake-lock/issues/142 using your GitHub account
Received on Thursday, 20 December 2018 19:48:41 UTC