- From: Jeffrey Yasskin via GitHub <sysbot+gh@w3.org>
- Date: Fri, 07 Oct 2016 19:01:54 +0000
- To: public-web-bluetooth-log@w3.org
```js navigator.bluetooth.getAvailability().then(isAvailable => { bluetoothUI.hidden = !isAvailable; }); navigator.bluetooth.addEventListener('availabilitychanged', e => { bluetoothUI.hidden = !e.value; }); ``` currently duplicates the .hidden logic. It's not straightforward to remove the duplication because the two functions take different kinds of arguments. ```js navigator.bluetooth.watchAvailability(isAvailable => { bluetoothUI.hidden = !isAvailable; }); ``` would work, as would ```js navigator.bluetooth.addEventListener('availabilitychanged', e => { bluetoothUI.hidden = !e.value; }); navigator.bluetooth.watchAvailability(); ``` if we said that `watchAvailability()` fires the event even if the availability hasn't changed, but doing the second would cause: ```js navigator.bluetooth.addEventListener('availabilitychanged', e => console.log(e)) navigator.bluetooth.watchAvailability(); // Elsewhere: navigator.bluetooth.addEventListener('availabilitychanged', e => console.log(e)) navigator.bluetooth.watchAvailability(); ``` to log 3 times instead of 2. -- GitHub Notification of comment by jyasskin Please view or discuss this issue at https://github.com/WebBluetoothCG/web-bluetooth/issues/307#issuecomment-252334579 using your GitHub account
Received on Friday, 7 October 2016 19:02:02 UTC