Я пытаюсь создать приложение блютуз для реактивного родного компьютера, но я впервые работаю с реактивным родным. У меня есть функция asycn, которую я вызываю, ведьма вызывает await BluetoothSerial.discoverUnpairedDevices()
, но ничего не происходит, просто ждет. Чего мне не хватает?
Полный код функции
async discoverUnpaired () {
if (this.state.discovering) {
console.log("true: ", this.state.discovering)
this.setState({ discovering: false })
return false
} else {
this.setState({ discovering: true })
try{
console.log("false: ", this.state.discovering)
await BluetoothSerial.discoverUnpairedDevices()
.then((unpairedDevices) => {
this.setState({ unpairedDevices, discovering: false })
console.log("false: ", this.state.discovering)
})
.catch((err) => console.log(err.message))
}
catch(e){
console.log(e)
}
}
}
PS Извините за плохой код, просто исследую активный родной Bluetooth для проекта. Если у кого-то есть хороший учебник по реагированию на родной класс c Bluetooth, это также очень поможет.
РЕДАКТИРОВАТЬ
После изменения кода на
const unpairedDevices = await BluetoothSerial.discoverUnpairedDevices();
this.setState({ unpairedDevices, discovering: false });
console.log("devices: ", unpairedDevices);
проблема все еще существует. Я думаю, что это просто ошибка в библиотеке, потому что если вызов BluetoothSerial.list()
вместо BluetoothSerial.discoverUnpairedDevices()
, он работает