收藏
回答

websocket首次连接后 第二次socketTask.onOpen为什么不会触发?

我在onShow生命周期里去向后端发送消息,这时切换到其它页面后回来不会执行socketTask.onOpen里的代码 为什么

onShow: function() {

console.log(wx.getStorageSync('phone'));

//获取当前经纬度

this.getLocation();

//获取设备状态

this.getActive();

console.log(socketTask);

if(!socketTask && wx.getStorageSync('isLogin')){

this.connectWebsocket();

}else{

if (wx.getStorageSync('isLogin')) {

socketTask.onMessage((res) => {

console.log(res);

console.log('socketMsg:' + res.data)

const result = res.data;

if (result === 'Charging') {

this.setData({

userStatus: result

})

}

})

socketTask.onOpen(() => {

console.log('socket向后端发送数据')

const phone = wx.getStorageSync('phone') || app.globalData.phone;

console.log('phone' + phone)

socketTask.send({

data:String(phone)

})

})

}

}

},


回答关注问题邀请回答
收藏

3 个回答

  • 点滴
    点滴
    2021-03-29

    你🐎的天天就知道回答这句话 别干了辞职完蛋草

    2021-03-29
    有用 2
    回复 1
    • ㅤ
      2021-09-08
      2021-09-08
      1
      回复
  • 灵芝
    灵芝
    2020-06-03

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-06-03
    有用
    回复
  • 男孩别哭
    男孩别哭
    2020-06-03

    只有第一次是会执行的,第二次不会再执行了

    2020-06-03
    有用
    回复
登录 后发表内容
问题标签