#628·sql.js

无法释放 WASM 使用的内存(不使用 Web 工作者)

作者: richard-thomas创建于 2026年3月25日更新于 2026年3月25日

如果只用于初始加载数据,则希望能够释放分配给 JavaScript 堆中的 sql.js WASM 的 20MB+ 内存。目前无法实现,因为 var initSqlJsPromise 存储在模块中的闭包中,并且在不再需要时也无法将其赋值为"undefined"(这样可以让垃圾回收系统回收内存)。虽然我可以理解如果调用 initSqlJs() 超过一次,就希望重用现有的 WASM,但现有代码中的注释暗示通过这种方式实现是不可取的: