this.addLog("握手成功,正在发送");
uni.writeBLECharacteristicValue({
deviceId: this.connectedDeviceId,
serviceId: this.serviceId,
characteristicId: this.writeCharacteristicId,
value: buffer,
success: () => {
this.addLog({
date: Common.DateFormat(),
remark: "发送数据成功"
})
resolve();
},
fail: (err) => {
this.addLog({
date: Common.DateFormat(),
remark: "发送数据失败" + JSON.stringify(err)
})
reject(err);
},
complete: () => {
this.addLog({
date: Common.DateFormat(),
remark: "向设备写入数据完成"
})
}
});
});

- 发布:2025-08-08 15:03
- 更新:2025-08-08 15:03
- 阅读:37
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Win11
HBuilderX类型: 正式
HBuilderX版本号: 4.75
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: 安卓
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
连接蓝牙成功,写入数据时,传入错误的serviceId
连接蓝牙成功,写入数据时,传入错误的serviceId
预期结果:
成功时进入success和complete回调,失败进入fail和complete回调
成功时进入success和complete回调,失败进入fail和complete回调
实际结果:
安卓苹果都一样,不进入任何回调。苹果的全对的情况,数据发送成功都不进入任何回调。
安卓苹果都一样,不进入任何回调。苹果的全对的情况,数据发送成功都不进入任何回调。
bug描述:
今天粗心大意,serviceId多复制了一个引号,然而悲剧了,success,fail,complete一个都不进,导致我的promise永远pending了,期望的是进入fail,complete
0 个回复