From 4b7f0923ac15a228ea4c1e8f77d301cd3bafadec Mon Sep 17 00:00:00 2001 From: dengguanghong Date: Wed, 13 Dec 2023 15:37:01 +0800 Subject: [PATCH] Signed-off-by:dengguanghong <2228266166@qq.com> --- .../ets/model/bluetoothImpl/BluetoothModel.ts | 26 +++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/product/phone/src/main/ets/model/bluetoothImpl/BluetoothModel.ts b/product/phone/src/main/ets/model/bluetoothImpl/BluetoothModel.ts index db5c2576..4dd86438 100644 --- a/product/phone/src/main/ets/model/bluetoothImpl/BluetoothModel.ts +++ b/product/phone/src/main/ets/model/bluetoothImpl/BluetoothModel.ts @@ -453,23 +453,39 @@ export class BluetoothModel extends BaseModel { }> { LogUtil.info('bluetooth.connectDevice start'); let result = []; - for (let i = 0;i < this.profiles.length; i++) { + + let i = 0; + let func = () => { + if (i > this.profiles.length - 1) { + return; + } + let connectRet = false; if (this.profiles[i]) { let profile = this.profiles[i]; - let connectRet = true; try { profile.connect(deviceId); + connectRet = true; } catch (BusinessError) { LogUtil.info(`${this.TAG} connect failed. BusinessError is ` + JSON.stringify(BusinessError)); - connectRet = false; } result.push({ profileId: i, connectRet: connectRet }); } + + i++; + if (connectRet) { + setTimeout(() => { + func(); + }, 200) + }else{ + func(); + } } - LogUtil.info('bluetooth.connectDevice end, return:' + result); + func(); + + LogUtil.info('bluetooth.connectDevice end, return:' + JSON.stringify(result)); return result; } @@ -567,4 +583,4 @@ export class BluetoothModel extends BaseModel { let bluetoothModel = new BluetoothModel(); -export default bluetoothModel as BluetoothModel; \ No newline at end of file +export default bluetoothModel as BluetoothModel; -- Gitee