当前位置: 首页 > news >正文

微信小程序里使用sse收到的数据不完整的问题

最近对接一个AI的小程序,后端使用sse给前端推送数据。

uni-app里的see大概是这样:

			const response = uni.request({...config,url:globeurl+config.url,enableChunked: true, // 开启流传输responseType: "arraybuffer",success: (res) => {resolve(res)},fail: (err) => {reject(err)}})resp.onChunkReceived((e) => {// 进行处理二进制编码const decoder = new TextEncoding.TextDecoder('utf-8'); // 创建一个utf-8解码器,用于解码二进制数据为文本。let text = decoder.decode(new Uint8Array(e.data)); // 解码二进制数据为文本。}
TextEncoding类是“text-encoding-shim”这个包。

突然被测出字符丢失问题,经过排查发现是因为微信小程序底层会自动在16360字节处截断,后续数据会在下次onChunkReceived里。

image

找到原因就好办了,catch到JSON.parse错误就缓存字符,拼接到下次的onChunkReceived数据前面就好了。

 

http://www.jsqmd.com/news/89942/

相关文章:

  • 网易云音乐个性化推荐优化神器:轻松掌握音乐算法主动权
  • 基于SpringBoot + Vue的社区户口户籍管理系统
  • Windows右键菜单终极优化指南:从混乱到高效的完整解决方案
  • Sketch MeaXure终极指南:告别繁琐标注的设计革命
  • 基于SpringBoot + Vue的养宠指南服务平台
  • LXMusic V250801终极音源配置指南:从零基础到高手速成
  • Linux系统编程1(文件操作、Makefile)
  • Windows终极解决方案:一键安装苹果设备驱动,告别连接烦恼
  • 解锁AMD Ryzen隐藏性能:SDT调试工具新手入门宝典
  • 【java学习日记】【12.14】【12/60】
  • 耗子叔ARTS周计划挑战--第五周(2025/12/1--2025/12/14)
  • Formily第三方UI库集成实战:从零到一的完整指南
  • MediaGo 视频下载工具:网页流媒体一键保存完整教程
  • 高效词库转换工具实战指南:5分钟实现全平台输入法同步
  • 掌握yt-dlp-gui:Windows平台最强视频下载神器全攻略
  • 基于SpringBoot + Vue的前后端分离在线考试系统
  • 如何用DSub打造私人音乐云:安卓手机听歌新体验
  • Python基础(2):变量数据类型详解 + 容器类型(list/tuple/set/dict)“神秘” 用法
  • 跨平台词库迁移技术深度解析:企业级输入法数据同步解决方案
  • 一.ProtoBuf
  • QJ小结
  • 终极解决方案:Windows苹果设备驱动一键安装完整指南
  • 介绍一下内存条的各种参数
  • 技术分析算法工程化实践:从理论到高性能实现的架构演进
  • Zotero文献整理终极指南:7天打造整洁高效的文献库
  • 解锁B站新体验:5个PiliPlus隐藏功能让你告别官方客户端限制 [特殊字符]
  • 解锁B站新体验:5个PiliPlus隐藏功能让你告别官方客户端限制 [特殊字符]
  • 为什么内存条涨价
  • 一文讲解 USRP B210 / B200
  • OpenKM文档管理系统实战部署指南:从零搭建企业级文档管理平台