gpt4 book ai didi

javascript - 同时启动两个函数或者它们写入不同的值

转载 作者:行者123 更新时间:2023-11-28 10:37:00 25 4
gpt4 key购买 nike

我正在创建一个应用程序,该应用程序应使用 BLE 与两个外部设备进行通信。应用程序和设备绑定(bind)后,我应该监控一些值,例如压力、加速度计等。设备每 20 毫秒向我提供一次数据。

我使用一个函数调用其他两个函数来监视这些值,例如:

async monitoring(){
this.readingBattery(this.device1, this.device2);
this.monitoringDeviceRight(this.device1);
this.monitoringDeviceLeft(this.device2);
}

这两个函数 this.monitoringDeviceRightthis.monitoringDeviceLeft 执行完全相同的操作。

我的问题是,当我停止监视时,这两个函数具有不同的数据量。特别是,右派的监督职能的值(value)要低于另一方。

你知道我是否可以做一些事情来同时启动这两个功能吗?

编辑1:这就是监控功能的作用:

 this.monitoringDeviceRight(device1){
this.action1 = await device1.monitorCharacteristicForService(service, this.AccGyrMg, (error, characteristic) => {
if (error) {
this.error(error.message);
return;
}
const buf = Buffer.from(characteristic.value, "base64");
//.....
const [...acRight] = [2, 4, 6].map(index => buf.readInt16LE(index));
this.arrayAcRight.push([this.timeR, ...acRight].join(":"))

const [...gyRight] = [8, 10, 12].map(index => buf.readInt16LE(index));
this.arrayGyRight.push([this.timeR, ...gyRight].join(":"))

//.....

最佳答案

假设monitoringDeviceRight和monitoringDeviceLeft是异步,您可以使用Promise.all就像这样

async monitoring(){
this.readingBattery(this.device1, this.device2);
Promise.all([monitoringDeviceRight(this.device1), monitoringDeviceLeft(this.device2)]);
}

如果你想听我的意见,我相信设备或功能是不同的,因为你不应该看到那么大的差异

关于javascript - 同时启动两个函数或者它们写入不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com