收藏
回答

showLoading会在打开websocket之后自动关闭

问题模块 框架类型 问题类型 操作系统 工具版本
开发者工具 小程序 Bug Windows 1.02.1902010

- 当前 Bug 的表现(可附上截图) showLoading会在连接websocket时自动关闭。loading代码在前或在后结果都一样,自动关闭

- 预期表现


- 复现路径


- 提供一个最简复现 Demo


wx.showLoading({

title: 'loading',

mask: true

})


var socketTask = wx.connectSocket({

url: 'ws://'

})

socketTask.onMessage(this.onSocketMessage);

socketTask.onClose(this.onSocketClose);

socketTask.onError(this.onSocketError);


wx.showLoading({

title: 'loading',

mask: true

})


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

3 个回答

  • 吴奕群
    吴奕群
    02-14

    wx.onSocketOpen(function(res) {

    console.log('WebSocket连接已打开!')

    wx.hideLoading()

    console.log('关闭loading')

    })


    02-14
    赞同 1
    回复
  • 铭锋科技
    铭锋科技
    02-14

    wx.showLoading({

    title: 'loading',

    mask: true

    })



    let url = 'ws://121.40.165.18:8800'

    wx.connectSocket({

    url: url,

    success: function(res) {

    console.log('连接成功')

    console.log(res)

    },

    fail: function(res) {

    console.log('连接失败')

    console.log(res)

    }

    })


    wx.onSocketOpen(function(res) {

    console.log('WebSocket连接已打开!')

    wx.hideLoading()

    console.log('关闭loading')

    })


    02-14
    赞同
    回复
  • 小明同学
    小明同学
    02-14

    感谢楼上的两位的回答。

    我遇到的问题是,调用showloading,然后再连接websocket,连接成功后,loading框会自动消失(没调用hideloading,原因未知)。

    现已采用的解决方案是,在wx.onSocketOpen里再次调用showloading,之后loading框不会再自动消失(在success回调函数里,调用showloading依旧会消失)

    02-14
    赞同
    回复