PC端使用watch监听数据不启作用
发布于 8 年前 作者 zhengjun 14248 次浏览 来自 问答

已上线的小程序,通过分享后在PC端打开,watch监听数据不启作用APPID:wxebeac7855bbe7574我在订单查看页面初始化一个监听器,如果订单有新添加数据则报一个语音消息,因为在手机上熄屏时voice…play()不启作用,所以想在PC端初始化watch,然后监听订单新增记录,体验版可以监听到并播报语音消息,上线的小程序不启作用,代码如下:

onLoad: function(options) {
  userCollection.where({
      _openid: app.openid
    })
    .get()
    .then(res => {
      if (res.data != 0) {
        //////////调用数据监听,在有新订单时播放语音
        const watcher = db.collection('goods_order').where({
          orderStatus: "待发货"
        }).watch({
          onChange: function(snapshot) {
            console.log('docs\'s changed events', snapshot.docChanges)
            console.log('query result snapshot after the event', snapshot.docs)
            console.log('is init data', snapshot.type === 'init')
            if (snapshot.docChanges.length != 0) {
              if (snapshot.docChanges[0].queueType === 'enqueue') {
                const voice = wx.createInnerAudioContext();
                voice.src = "https://6368-chen1。。。。。。。。。。。。。。。。。。。。。。。。。。。",
                  voice.play();
              }
            }
          },
          onError: function(err) {
            console.error('the watch closed because of error', err)
          }
        })
        //////////////////////////////////////////////////////////////////
      }
    })
 
},

请高手赐教,谢谢

2 回复

初始化监听是否正常?onChange 和 onError 会被调用吗?

watch能不能监听数据突然消失的情况或者数据突然变为空的情况

回到顶部