leo-snow 2022-09-17 12:29 采纳率: 0%
浏览 13
已结题

JS Bootstrp-table 循环使用‘updateRow’导致内存溢出

问题遇到的现象和发生背景

JS Bootstrp-table 循环使用‘updateRow’导致内存溢出。

用代码块功能插入代码,请勿粘贴截图
    //循环体
                data.forEach(row => {
                    //业务处理...
                    //更新行数据
                    $("#" + table.options.id).bootstrapTable('updateRow', {
                        index: row.orderNo,
                        row: row
                    })

                })
运行结果及报错内容

img

运行时浏览器内存占用达到了三个多G甚至四个G

我想要达到的结果

想咨询如何每次循环结束手动释放内存。
我查看了一下方法的源码,是否可以通过重写方法时候避开内存的不及时释放,该如何重写。
下面是bootstrap-table.js里的源码

  updateRow (params) {
    const allParams = Array.isArray(params) ? params : [params]

    for (const params of allParams) {
      if (!params.hasOwnProperty('index') || !params.hasOwnProperty('row')) {
        continue
      }

      if (params.hasOwnProperty('replace') && params.replace) {
        this.options.data[params.index] = params.row
      } else {
        $.extend(this.options.data[params.index], params.row)
      }
    }

    this.initSearch()
    this.initPagination()
    this.initSort()
    this.initBody(true)
  }

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 9月25日
    • 创建了问题 9月17日

    悬赏问题

    • ¥30 模拟电路 logisim
    • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
    • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
    • ¥15 安装quartus II18.1时弹出此error,怎么解决?
    • ¥15 keil官网下载psn序列号在哪
    • ¥15 想用adb命令做一个通话软件,播放录音
    • ¥30 Pytorch深度学习服务器跑不通问题解决?
    • ¥15 部分客户订单定位有误的问题
    • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
    • ¥15 Bug traq 数据包 大概什么价