我正在一个JavaScript项目中,最初所有复杂的逻辑都用JS编写。但是它非常慢,因此由于架构限制,我们现在已将所有复杂的逻辑移植到golang,我们无法调用golang的API,因此我们转向了wasm,在其中将golang代码构建到wasm文件中并从js代码中调用从而消除了API调用。
现在一切正常,直到我们收到一个复杂的对象,如果您通过wasm执行它会花费很多时间,但是如果通过golang运行它只需要几秒钟。所以我的问题是我可以在浏览器中加载的wasm文件中实现多线程吗?
最佳答案
所以我的问题是我可以在浏览器中加载的wasm文件中实现多线程吗?
一句话:编号
WASM尚未完全支持多线程。仍然是just a proposal。也就是说,已经有一个issue跟踪Go / WASM。
因此,从实际的角度来看,这意味着从乐观的角度来看,Go 1.14是第一个可能包含(实验性)WASM Threading支持的Go版本,该支持可能会在2020Q1推出。稳定的支持可能至少还需要一个Go发布周期,因此2020Q3也许您可以在生产中使用它。