const listener = function (res) { console.log(res) }
wx.onBLEConnectionStateChange(listener)
wx.offBLEConnectionStateChange(listener) // 需传入与监听时同一个的函数对象y
以上是官方的示例代码
官方给的DEMO中并没有用到这个API
我想请教一下,这个listener = function (res) { console.log(res) }具体是怎么?该怎么用?
看不太懂listener 指代的是什么?是如下代码片段里面的res吗?或者是随便定义的变量?
wx.createBLEConnection({ deviceId, success (res) { console.log(res) } })
有没有使用了wx.onBLEConnectionStateChange(listener) 和
wx.offBLEConnectionStateChange(listener) 的demo可以参考一下?
另外,如果这两个函数在不同的地方调用,又要保证listener是一样的,必然是一个全局变量
这个listener 就是你启动监听(onBLEConnectionStateChange)时候传入的回调函数,
如果是跨页面的话那就要考虑下 把 listener在两个页面共享的问题,
但是这个 offBLEConnectionStateChange 的入参不是必须的,如果没有入参,那ta就会关闭所有监听
启动监听(onBLEConnectionStateChange)时候传入的回调函数是怎么来的?跟(createBLEConnection)有关吗?还是说随便定义?
然后比如说简单的 sample 代码:
const listenerDemo = function(res) {
console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)
}
wx.onBLEConnectionStateChange(listenerDemo);
setTimeout(() => {
wx.offBLEConnectionStateChange(listenerDemo);
}, 5000)
console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`)