蓝牙断开连接变成异步操作

This commit is contained in:
liub
2025-10-27 11:51:38 +08:00
parent 61ed91695f
commit cf60414d76
2 changed files with 27 additions and 33 deletions

View File

@ -398,11 +398,11 @@
ble = BleTool.getBleTool(); ble = BleTool.getBleTool();
ble.addReceiveCallback(these.bleValueNotify, pagePath); ble.addReceiveCallback(this.bleValueNotify, pagePath);
ble.addStateBreakCallback(these.bleStateBreak, pagePath); ble.addStateBreakCallback(this.bleStateBreak, pagePath);
ble.addStateRecoveryCallback(these.bleStateRecovry, pagePath); ble.addStateRecoveryCallback(this.bleStateRecovry, pagePath);
ble.addDisposeCallback(these.deviceDispose, pagePath); ble.addDisposeCallback(this.deviceDispose, pagePath);
ble.addRecoveryCallback(these.deviceRecovry, pagePath); ble.addRecoveryCallback(this.deviceRecovry, pagePath);
let eventChannel = this.getOpenerEventChannel(); let eventChannel = this.getOpenerEventChannel();

View File

@ -1616,16 +1616,7 @@ class BleHelper {
} }
if (deviceId) { if (deviceId) {
disconnect(deviceId); return disconnect(deviceId);
this.data.LinkedList.find(v => {
if (v.deviceId === deviceId) {
return true;
}
return false;
});
return;
} }
if (this.data.LinkedList.length > 0) { if (this.data.LinkedList.length > 0) {
@ -1637,10 +1628,8 @@ class BleHelper {
} }
} }
if (arr.length == 0) { if (arr.length) {
return; return new Promise((_succ, _err) => {
}
Promise.allSettled(arr).then((results) => { Promise.allSettled(arr).then((results) => {
results.forEach((result, index) => { results.forEach((result, index) => {
if (result.status === 'fulfilled') { if (result.status === 'fulfilled') {
@ -1649,12 +1638,17 @@ class BleHelper {
////console.log(`第${index + 1}个Promise失败:`, result.reason.message); ////console.log(`第${index + 1}个Promise失败:`, result.reason.message);
} }
}); });
_succ()
}).catch((ex) => {
_err();
});
}); });
} else {
////console.log("无已连接设备");
} }
} }
return Promise.resolve();
}
//向蓝牙设备发送一个字符串的ASCII码 //向蓝牙设备发送一个字符串的ASCII码
sendString(deviceid, str, writeServiceId, wirteCharactId, ms) { sendString(deviceid, str, writeServiceId, wirteCharactId, ms) {
if (str && typeof(str) == 'object') { if (str && typeof(str) == 'object') {