Web Bluetooth переподключение / автоподключение не работает
Я пробую образцы Google/ Chrome для веб-Bluetooth. Похоже, что device.gatt.connect() работает только в рамках обещания navigator.bluetooth.requestDevice(). Я следую примеру, чтобы сохранить устройство, и позже вызываю device.gatt.connect(), и он ждет вечно, а возврата нет. Я использую Mac OSX 10.13.3 и chrome64, а также Android BLE Периферийный симулятор (из Google PlayStore)
Сегмент кода...
var bluetoothDevice;
navigator.bluetooth.requestDevice({
acceptAllDevices: true})
.then(device => {
bluetoothDevice = device;
bluetoothDevice.addEventListener('gattserverdisconnected', onDisconnected);
connect();
....
});
....
});
function connect() {
exponentialBackoff(3 /* max retries */, 10 /* seconds delay */,
function toTry() {
time('Connecting to Bluetooth Device... ');
/***** Issue here *****
bluetoothDevice.gatt.connect() called by neither return nor catch error
***********************/
return bluetoothDevice.gatt.connect().catch(error => {
log('Argh! ' + error);
});
},
function success() {
log('> Bluetooth Device connected. Try disconnect it now.');
},
function fail() {
time('Failed to reconnect.');
});
}
Кто-нибудь может объяснить, как заставить работать переподключение связующего устройства?