1
James369 OP 最好能够有一个功能: 就是压缩 /解压过程中,可以 cancel 取消的。
|
2
ysc3839 2021-08-26 15:23:38 +08:00
解压缩是 CPU 密集型操作,在 Web 中会导致页面等待回调函数执行完毕才有响应。要解决这个问题估计只能用 Web Worker 。
|
4
ysc3839 2021-08-26 15:32:39 +08:00
@James369 去搜了下,只找到了个久不更新的 gzip-js 。可以考虑用 emscripten 把 C/C++ 代码编译成 wasm 或 asm.js 。
|
5
typetraits 2021-08-26 15:39:05 +08:00
造个轮子吧,Rust 有一个 wasm-flate 库,在 wasm 里完成解压缩,逻辑放到 service worker 里跑,之后发送消息给网页就行
|
6
kkocdko 2021-08-26 21:14:18 +08:00 via Android
首先考虑砍需求。
或者就像楼上说的那样 wasm,进度可以 post message,cancel 有 terminate 的 api |