← 回首頁
Cloudflare Workers
Maximum call stack size exceeded(base64 转换)
RangeError: Maximum call stack size exceeded
at String.fromCharCode.apply(null, bytes)
🔍 為什麼會發生
用 `String.fromCharCode.apply(null, 大数组)` 把二进制转 base64。当数组超过几万字节时,JavaScript 引擎会因参数太多而爆栈。
🛠️ 怎麼修
- 分块处理:每 8192 字节转一次,字符串拼接
- 代码:
for (let i = 0; i < bytes.length; i += 8192) { bin += String.fromCharCode.apply(null, Array.from(bytes.subarray(i, i+8192))); }
- Node.js 环境可以直接用 Buffer.from(bytes).toString('base64')
- Worker 里没有 Buffer,只能分块
看更多加密貨幣工具
本站為技術速查,內容僅供參考。錯誤訊息以官方文件為準。