【发布时间】:2014-02-17 14:11:44
【问题描述】:
这是一个设置:
- 要在递归函数中处理的大数据数组。
- 递归函数本身,作为 Web Worker 运行以避免堆栈大小限制。
- 结果处理器,在递归函数达到“递归结束”条件后调用。
我已经检查了web worker specs,但它们有点难以阅读和混乱,无法就简单问题给出简单的答案。
我不明白的是
- 如何将数据传递给函数(在 Web Worker 中)
- 如何从函数中获取结果并知道何时完成
- 以及为什么我必须在单独的 JS 文件中定义 worker
【问题讨论】:
-
通过调用函数将数据传递给函数。但是,将数据传递给 Web Worker 是通过向其发送事件来完成的。反过来也一样——你需要听一个事件,而不是接听电话结果。工作人员应该在不同的文件中,因为他们有完全独立的环境。
标签: javascript recursion web-worker