← 回首頁
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 引擎会因参数太多而爆栈。

🛠️ 怎麼修

  1. 分块处理:每 8192 字节转一次,字符串拼接
  2. 代码:for (let i = 0; i < bytes.length; i += 8192) { bin += String.fromCharCode.apply(null, Array.from(bytes.subarray(i, i+8192))); }
  3. Node.js 环境可以直接用 Buffer.from(bytes).toString('base64')
  4. Worker 里没有 Buffer,只能分块
相關工具: 加密貨幣手續費計算器 · VRAM 計算器
看更多加密貨幣工具

本站為技術速查,內容僅供參考。錯誤訊息以官方文件為準。