Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
why is Bluetooth.then not a function?

I am writing a Javascript program to print out device information.

I have two services: 'battery_service' and 'device_information', and the characteristic under 'battery_service' is 'battery_information'.

I want to implement some code in separate functions to make it neater, but when I want to do so, I get the following error:

deviceInfo3.js:11 Uncaught TypeError: bluetoothDevice is not a function

from calling the function below: My getBatteryFunction:

 function getBatteryPercent()
  {
    bluetoothDevice
    .then(
      value => {
        console.console.log("Battery = "+value.getUint8(0))
        document.getElementById("battery").value=value.getUint8(0);
      }
    )
  }

and this is my main driver function when the button is clicked:

var bluetoothDevice;

function onScanButtonClick() {
  let options = {filters: []};

  
    options.filters.push({services: ['battery_service', 'device_information' ]});

  console.log('Requesting Bluetooth Device...');
  navigator.bluetooth.requestDevice(options)
  .then(device => {
    bluetoothDevice = device;
    bluetoothDevice.addEventListener('gattserverdisconnected', onDisconnected);
    return device.gatt.connect();
  })
  .then((server) => {
    // Set the isConnected variable to true
    bluetoothDevice.isConnected = true;
    console.log('Getting Accelerometer service (UUID: ' + 'battery_service' + ')... ');
    // Get the accelerometer service (if it's not enabled, the error will be caught below)
    return server.getPrimaryServices();
  })
  .then(services => {
    console.log("Getting characteristics...");
    let queue=Promise.resolve();
    services.forEach(service => {
      console.log(service.uuid);
      switch(service.uuid) {
        
        case ('0000180f-0000-1000-8000-00805f9b34fb'): {
          getBatteryPercent();
        }
      }
      
    })
  })
}

How can I achieve this?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda