读取数据并单击停止按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取数据并单击停止按钮相关的知识,希望对你有一定的参考价值。

我的代码有问题。

基本上,我从设备读取信息(例如加速度,压力,磁力计)。它们是每20毫秒读取一次的大量数据。

在某个时候,我想中断此读数,因此我单击了停止按钮。那里有问题。因此,停止按钮无法立即起作用(看起来好像没有被单击)。因此它完全保持静止,并在几秒钟后开始了停止按钮的动作。

您认为此问题是由于什么原因?

async setupNotifications1(device) 
    var timeagm = 0
    var time = 0
    const service = this.serviceGeneral();
    device.monitorCharacteristicForService(service,this.AccGyrMg, (error, characteristic) => 
        if (error)
        
          this.error(error.message);
          return;
        
        const buf = Buffer.from(characteristic.value, "base64");
        const [...acc_dx] = [2, 4, 6].map(index => buf.readInt16LE(index));
        this.setState(state => (acc_dx,array_acc_dx: [...state.array_acc_dx,[timeagm, acc_dx]]
        ));
        // code about the data that I read in the same way of acc (acceleration)
      
    );

stopConnection() 
        console.log("start stopConnection");
    Actions.registerattivita(
        
        array_acc_dx: this.state.array_acc_dx,
        array_acc_sx: this.state.array_acc_sx,
        array_gyr_dx: this.state.array_gyr_dx,
        array_gyr_sx: this.state.array_gyr_sx,
        array_mg_dx: this.state.array_mg_dx,
        array_mg_sx: this.state.array_mg_sx,
        array_pressure_sx: this.state.array_pressure_sx,
        array_pressure_dx: this.state.array_pressure_dx,
        id: this.props.id
      
      )
  

  render() 
   return (
     <View>
        // ..code about the graphics of the page
      <View style=styles.button>

      <TouchableOpacity style=[style.button, style.buttonOK] onPress=() => this.stopConnection()>
            <Text style=style.buttonTesto>Stop</Text>
          </TouchableOpacity> 
      </View>
      </View>
    );
  

页面Actions.registerattivita是我在其中传递变量以将信息写入db的页面。 (如果需要,我也可以显示此页面)。但是在到达此页面之前,要经过几秒钟。

如果不清楚,我准备解释任何部分。非常感谢您的关注和帮助。

答案

您能尝试这个吗?

async stopConnection() 
        console.log("start stopConnection");
   await Actions.registerattivita(
        
        array_acc_dx: this.state.array_acc_dx,
        array_acc_sx: this.state.array_acc_sx,
        array_gyr_dx: this.state.array_gyr_dx,
        array_gyr_sx: this.state.array_gyr_sx,
        array_mg_dx: this.state.array_mg_dx,
        array_mg_sx: this.state.array_mg_sx,
        array_pressure_sx: this.state.array_pressure_sx,
        array_pressure_dx: this.state.array_pressure_dx,
        id: this.props.id
      
      )
  

以上是关于读取数据并单击停止按钮的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Firebase 读取用户数据

vb.net如何与excel建立连接,并从里面查询并读取数据?

如何在单击按钮时暂停读取文本文件并在 mfc vc++ 中的单击按钮时恢复它?

如何暂停sqlserver数据订阅服务

QLineEdit 单击时清除文本并从按钮读取文本[关闭]

如何在单页中使用 php 从 while 循环中生成多个读取更多按钮?