首页 > 解决方案 > 如果某个功能不起作用,请在一段时间后停止该功能

问题描述

我有一个允许使用蓝牙连接到外部设备的功能。

有时可能是外部设备关闭或找不到设备的情况,所以我的应用程序在搜索页面上崩溃(它挂在负载上)。我想知道是否有一种方法可以在函数执行 30 秒后发送警报。

   async scans() {
//connection...
// if the connection failed the checkCredentials will not execute, so there I should find something to display alert.
        this.checkCredentials()
    }

我想过一个setTimeout(() => {this.setState({time: true})}, 15000)

但我不确定这是最好的解决方案。

我能怎么做??

标签: javascriptreact-native

解决方案


我相信您应该在启动连接之前先尝试检查设备是否存在。然后作为下一步,您应该处理连接错误。您可以检查连接 API 是否提供了提供超时的方法。如果这一切都不可能,那么只有您应该尝试使用 setTimeout 来处理这个问题,就像您在问题中提到的那样。但是,在这种情况下,您还应该考虑取消连接请求或至少在连接最终失败时处理错误的情况。


推荐阅读