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.');
    });
   }

Кто-нибудь может объяснить, как заставить работать переподключение связующего устройства?

0 ответов

Другие вопросы по тегам