m***@protonmail.com
m***@protonmail.com
  • 发布:2022-02-27 23:35
  • 更新:2022-03-11 11:43
  • 阅读:339

websocket 接收goole-protobuf ArrayBuffer调试模式下可以正常接收并反序列化,关了调试报错

分类:nvue
onMessage(data){  
        let unBytes = chat_pb.SocketReturn.deserializeBinary(data.data);  

        let res = chat_pb.SocketReturn.toObject(true,unBytes)  

        switch (res.action){  
            case 'login':  
                if(res.code == 200){  
                   // 用户上线  
                   this.isOnline = true  
                   this.sendPing()  
                }  
                break;  
             }  
}

而plus-websocket正常

2022-02-27 23:35 负责人:无 分享
已邀请:
小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

,你反序列化的意义在哪里,没有实体类,难道接收不到json数据么?

DCloud_UNI_GSQ

DCloud_UNI_GSQ

App端为了让vue页面和nvue页面共用uni接口,uni相关接口实现在单独的 js context 中,这样导致的一个问题就是:使用 uni 相关接口返回的数据类型不能用 instanceof 直接判断出来。

如果三方库中使用 instanceof 判断返回的数据类型是否符合预期,可能导致误判。

处理方式:

找到三方库中相关报错位置,看是否与我描述一致,如果一致,稍作修改调整为使用其它方式判断,如:鸭式辩型或toString方式判断类名

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX alpha 3.4.2 已优化

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