device.watchAdvertisements() 不是函数。网络蓝牙(chrome)

device.watchAdvertisements() is not a function. Web Bluetooth(chrome)

我目前正在尝试实现一个网页,该网页将监视任何连接的蓝牙设备的广告。

我正在关注 this example from the google chrome samples。正在他们的网页上工作。

然而,当我 运行 我的代码(从示例中复制,但以防万一它发布在下面)我得到“device.watchAdvertisements 不是函数”。

我希望有人能指出正确的方向,因为我唯一的猜测是:

A) 我需要等待 chrome 87(我有启用推荐标志的 86.0.4240.183)

B) 我缺少库或导入

C) 用户错误(最有可能)

这是我的代码;对于上下文,它是一个 angular 6 应用程序:

onWatchAdvertisementsButtonClick() {
  console.log('Requesting any Bluetooth device...');
  this.mobileNavigatorObject.bluetooth.requestDevice({
      // filters: [...] <- Prefer filters to save energy & show relevant devices.
      acceptAllDevices: true
    })
    .then(device => {
      console.log('> Requested ' + device.name);

      device.addEventListener('advertisementreceived', (event) => {
        console.log('Advertisement received.');
        console.log('  Device Name: ' + event.device.name);
        console.log('  Device ID: ' + event.device.id);
        console.log('  RSSI: ' + event.rssi);
        console.log('  TX Power: ' + event.txPower);
        console.log('  UUIDs: ' + event.uuids);
      });

      console.log('Watching advertisements from "' + device.name + '"...');
      return device.watchAdvertisements(); //<--- This throws a typeError
    })
    .catch(error => {
      console.log('Argh! ' + error);
    });
}

编辑(已解决):看来是 SSL 或环境问题。我在调试中的项目配置与 watchadvertisements() 函数不一致。将我的代码发布到 iis 服务器后,问题消失了。