showLoading会在打开websocket之后自动关闭
发布于 7 年前 作者 ping05 12871 次浏览 来自 问答
  • 当前 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

})

3 回复

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’)

})

wx.onSocketOpen(function(res) {

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

wx.hideLoading()

console.log('关闭loading')

})

感谢楼上的两位的回答。

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

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

回到顶部