收藏
回答

求教offBLEConnectionStateChange函数的入参是什么?怎么实现?

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是一样的,必然是一个全局变量


官方文档网址https://developers.weixin.qq.com/miniprogram/dev/api/device/bluetooth-ble/wx.offBLEConnectionStateChange.html

最后一次编辑于  07-22
回答关注问题邀请回答
收藏

1 个回答

  • 美兰十三
    美兰十三
    07-22

    这个listener 就是你启动监听(onBLEConnectionStateChange)时候传入的回调函数,

    如果是跨页面的话那就要考虑下 把 listener在两个页面共享的问题,

    但是这个 offBLEConnectionStateChange 的入参不是必须的,如果没有入参,那ta就会关闭所有监听

    07-22
    有用 1
    回复 7
    • 爱心雨
      爱心雨
      07-23
      虽然字都看得懂,但确实不知道该怎么用(捂脸),
      启动监听(onBLEConnectionStateChange)时候传入的回调函数是怎么来的?跟(createBLEConnection)有关吗?还是说随便定义?
      07-23
      回复
    • 美兰十三
      美兰十三
      07-24回复爱心雨
      你能提供下你的代码片段么?onBLEConnectionStateChange 这个api的部分
      07-24
      回复
    • 爱心雨
      爱心雨
      07-24回复美兰十三
      我想实现的功能就是监听蓝牙是否还在连接状态,然后看官方文档和demo,发现官方只有说明文档,demo并没有用到,所以我也不知道怎么用,我还没用这部分代码
      07-24
      回复
    • 美兰十三
      美兰十三
      07-24回复爱心雨
      举个简单的例子,你要使用 offBLEConnectionStateChange api前 必然先用到了 onBLEConnectionStateChange 这个api,你得开了才能关对吧?


      然后比如说简单的 sample 代码:
      07-24
      回复
    • 爱心雨
      爱心雨
      07-24回复美兰十三
      我试着理解一下:这段代码里面listenerDemo 就是指代一个函数,函数内容是console.log(`device ${res.deviceId} state has changed, connected: ${res.connected}`),是这样的意思吗?offBLEConnectionStateChange(listenerDemo)之后,意思是这个打印函数不能运行了
      07-24
      回复
    查看更多(2)
登录 后发表内容