大笨蛋
大笨蛋
  • 发布:2018-12-21 15:42
  • 更新:2022-06-06 00:55
  • 阅读:3218

uni.connectSocket(OBJECT)返回的不是SocketTask,而是一个 promise

分类:uni-app
this.$localSocket = uni.connectSocket({  
     url: `${WS_BASE_URL}/task/groupId=${id}`,  
});  

console.log(this.$localSocket) // 小程序中拿到的是Promise {[[PromiseStatus]]: "pending", [[PromiseValue]]: undefined}  

换成wx就是预期的SocketTask

this.$localSocket = wx.connectSocket({  
    url: `${WS_BASE_URL}/task/groupId=${id}`,  
});  

console.log(this.$localSocket) // {CONNECTING: 0, OPEN: 1, CLOSING: 2, CLOSED: 3, readyState: 0, …}
2018-12-21 15:42 负责人:无 分享
已邀请:
DCloud_UNI_GSQ

DCloud_UNI_GSQ

默认的封装,加上success参数就不返回promise了。

大笨蛋

大笨蛋 (作者) - 打杂的

版本是最新的
开发环境是 macOS mojave 10.14.2
微信小程序

aj12

aj12

connectSocket要加complete sucess fail任意回调,才会返回socketTask对象,并且socket的创建,一般不超过500ms,需要等待一定时间,创建就立即发消息可能不会成功,因为创建的方法好像是异步的。

该问题目前已经被锁定, 无法添加新回复