我想相信刷新浏览器窗口或标签不会泄漏。不幸的是,当涉及WebAssembly时,情况似乎并非如此。
我已经建造了一个带锈蚀的WebAssembly板条箱。板条箱的编译尺寸约为360 kb(在内容压缩之前),板条箱在Firefox甚至iOS上的Safari中都可以正常工作。但是,我在Chrome中遇到了许多问题,其中一个是刷新使用.wasm
的页面最终导致控制台中的错误错误。
该页面可用于大约35个刷新,然后投掷以下内容:
Uncaught (in promise) RangeError: WebAssembly Instantiation: Out of memory: wasm memory
之后,选项卡是没有用的,但是打开一个新的选项卡并加载页面按预期工作 - 同样,大约是第一个35刷新。
这是浏览器中的错误还是我在代码中做错了什么?如果是一个错误,有什么方法可以解决吗?(并不是我希望它会在生产中表现出来,而是……)
(大概,错误消息中提到的承诺是import('...')
返回的消息。我正在使用WebPack,因此我受https://github.com/webpack/webpack/webpack/sissues/6615)
这显然是Chrome中的一个确认错误:https://bugs.chromium.org/p/chromium/issues/issues/detail?id=935169
它仅在打开Chrome的开发人员工具时才发生。