Open work4blue opened 3 years ago
同学你好。这个问题确实是最初一个不好的设定,如果特征值为空,蓝牙连接会断开并报错。但是我现在已经转行很久了,建议你找硬件的同学添加一下特征值,实在抱歉了。
谢谢回复,找硬件改流程太长了,所以改一下代码比较现实,主要我对ts 语法不熟,有不有什么办法跳开这个属性为0的获取? 因为代码嵌套太深,在我代码里加入一个service id 检测但是仍然报错,能否指定一下如何调整?
device.services = res.services.map(server => {
let sUUID = server.uuid || server.serviceId;
console.log("getBLEDeviceCharacteristics scan service "+sUUID);
if(sUUID == "00001800-0000-1000-8000-00805F9B34FB")
{//临时关掉没有任何属性的服务,在微信下扫描会报错
//errMsg: "getBLEDeviceCharacteristics:fail:no characteristic" 没有找到指定特征值"
return {serviceId: sUUID}
}
let sPromise = _.api('getBLEDeviceCharacteristics', '', {
deviceId,
serviceId: sUUID
})
sPromises.push(sPromise);
return { serviceId: sUUID };
})
这个就是JS的语法,没有用到TS。主要转行快2年了,我也不知道怎么调整了。。实在抱歉
就是某个service 下不存在任何属性,联接蓝牙时会报错:
errMsg: "getBLEDeviceCharacteristics:fail:no characteristic"
message: "没有找到指定特征值"