最近在用uniapp做蓝牙功能的时候,因为需要实现断线重连,碰到一些问题。
uniapp不支持后台线程,worker这东西分平台,所以用的是setTimeout回调方法实现重连。报错如标题:
一下用法其实不严谨,虽然html页面上我们经常这么用。
setTimeout(func(),2000)
改成如下
setTimeout(function(){ return func() },2000)
就可以了。
需要用闭包形式声明,否则会有空指针问题。