H5加载ffmpeg.wasm过慢,导致js调用失败问题

1642414896(1).png

异步加载的ffmpeg.js fetch 了这个wasm文件,加载得比较慢。
我的需求是当把这个wasm文件加载完毕以后调用js去解析数据.
但是我试过用window.onload去执行我的js函数,但是这个wasm貌似不属于onload之前加载的资源,导致我的函数只读取了部分wasm文件(不完整),数据解析不出来。有什么好的方法去监听这个文件是否加载完毕。我是前端小白。

阅读 5.6k
3 个回答

下策(最易)

轮询该模块加载完成之后的有关特征,确定模块加载完成且可用之后,再进行一系列基于该模块的逻辑。

中策(偏难)

在 ffmpeg.js 开始加载之前,重写 fetch 函数,并针对加载该模块的请求进行监听,以确定模块加载完毕后执行相关逻辑。

中策(偏易)

修改 ffmpeg.js 中 fetch 该模块之后执行的函数,触发一个全局的事件,在你的 JS 中监听此事件。

上策

(如果 ffmpeg.js 有相应的解决方案,那必然是上策)。

ffmpeg之类的处理更适合后台运行,大多数不适合真正的前端执行,特别是网络环境下,执行,如果你是开发本地app,可以使用,否则,还是上载到服务器,让服务器后台调用处理后,前端反馈结果吧。
否则网络稳定性问题会让你想删库!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题