1 回答

TA貢獻(xiàn)1799條經(jīng)驗 獲得超8個贊
解決方法是在 connectToDevice() 和 cancelDeviceConnection() 異步函數(shù)周圍添加嘗試捕獲,因為它們被拒絕并且偵聽器將返回(因此從未打印“連接到設(shè)備”日志的原因)。
bleManager.startDeviceScan(
['00001200-0000-1000-8000-00805f9b34fb'],
{ allowDuplicates: true },
async (error, device) => {
// get services
let services = device.serviceUUIDs
// check if there are services being advertised
if (services && services.includes('00001200-0000-1000-8000-00805f9b34fb')) {
console.log("Scanned a device with name: " + device.name + " | " + device.rssi)
console.log("Services:", services)
try {
await bleManager.connectToDevice(device.id)
} catch {
console.log("Could not connect")
}
console.log("Connected to device: ", device.name)
// run some more async code once i'm connected to the device
try {
await bleManager.cancelDeviceConnection(device.id)
} catch {
console.log("Could not disconnect")
}
// await bleManager.connectToDevice(device.id)
//console.log("Connected to device")
//await bleManager.cancelDeviceConnection(device.id)
//console.log("Disconnected from device")
}
}
)
添加回答
舉報