如何从前端的WebAssembly流程中“退出”?

时间:2019-04-10 00:47:50

标签: webassembly

我正在编写一个当前使用node.js运行时的Webassembly编译器。我的代码会进行错误检查,该错误检查会调用基本上执行以下操作的javascript错误处理程序:

function error(errCode) {
    console.error("Some error message")
    process.exit(1)
}

我在webassembly中称呼它为

(i32.const my_error_code)
(call $error)    

是否可以使用等效的前端功能来停止当前的Web组装过程?

1 个答案:

答案 0 :(得分:0)

否-WebAssembly不会在其自己的进程中运行。 WebAssembly是JS的一部分,这意味着WASM与JS上下文位于同一上下文中。因此,终止其过程没有任何意义。就像您发布的一样,它只会模拟exit()函数。

WASM是JS的一部分,对于了解WASM的工作原理很重要。在Web浏览器中,WASM只能与JS API交互以获取与系统相关的功能。它没有过程的概念,也没有本地线程。 WASM世界中的线程使用JS的Web Workers进行仿真。