锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务,锦州广厦维修电脑,公司IT外包服务
topFlag1 设为首页
topFlag3 收藏本站
 
maojin003 首 页 公司介绍 服务项目 服务报价 维修流程 IT外包服务 服务器维护 技术文章 常见故障
锦州市广厦电脑维修|上门维修电脑|上门做系统|0416-3905144热诚服务技术文章
微信小程序JS报错:Uncaught TypeError: Converting circular str

作者: 佚名  日期:2024-06-23 20:07:12   来源: 本站整理

 今天开发微信小程序调用setData时遇到一个JSON.stringify转换一个循环引用结构的报错。

setData工作原理
小程序的视图层目前使用 WebView 作为渲染载体,而逻辑层是由独立的 JavascriptCore 作为运行环境。在架构上,WebView 和 JavascriptCore 都是独立的模块,并不具备数据直接共享的通道。当前,视图层和逻辑层的数据传输,实际上通过两边提供的 evaluateJavascript 所实现。即用户传输的数据,需要将其转换为字符串形式传递,同时把转换后的数据内容拼接成一份 JS 脚本,再通过执行 JS 脚本的形式传递到两边独立环境。
而 evaluateJavascript 的执行会受很多方面的影响,数据到达视图层并不是实时的。同一进程内的 WebView 实际上会共享一个 JS VM,如果 WebView 内 JS 线程正在执行渲染或其他逻辑,会影响 evaluateJavascript 脚本的实际执行时间,另外多个 WebView 也会抢占 JS VM 的执行权限;另外还有 JS 本身的编译执行耗时,都是影响数据传输速度的因素。

其实就是setData(object)时会调用JSON.stringify

循环应用例子:

JSON.stringify无法转换这种结构,所以报错。

如果非要这样写,可以改成:



热门文章
  • diskgenius分区时快速分区选MBR还是...
  • 电脑应该配16G还是32G内存?16g内存...
  • 微星主板怎么开启PBO(超频技术)?微...
  • 技嘉主板怎么开启PBO(超频技术)?技...
  • 微信小程序JS报错:Uncaught TypeE...
  • 项目中遇到Uncaught TypeError: Co...
  • 安装win10出现inaccessible boot d...
  • 戴尔笔记本安装win10找不到驱动器解...
  • 笔记本电脑的触摸板失灵了怎么办?...
  • 手机摔坏了如何把资料数据传输到新...
  • 自己换手机内屏步骤教程
  • 怎么换屏幕总成教程
  • 锦州广厦电脑上门维修

    报修电话:13840665804  QQ:174984393 (联系人:毛先生)   
    E-Mail:174984393@qq.com
    维修中心地址:锦州广厦电脑城
    ICP备案/许可证号:辽ICP备2023002984号-1
    上门服务区域: 辽宁锦州市区
    主要业务: 修电脑,电脑修理,电脑维护,上门维修电脑,黑屏蓝屏死机故障排除,无线上网设置,IT服务外包,局域网组建,ADSL共享上网,路由器设置,数据恢复,密码破解,光盘刻录制作等服务

    技术支持:微软等