JavaScript testing Web Workers
JavaScript testing Web Workers
在工作中,我们得到了一个在大多数浏览器上占用大约200毫秒的操作。我们已经通过Web Workers将这个操作卸载到它自己的线程中。
我们的QA问我们如何编写一个测试来验证当这个200毫秒的操作在它自己的线程中被触发时,实际上有两个线程在运行。
我们该怎么做?我怎么做才能证明两个线程是并发执行的?
可以编写setInterval为10ms的测试代码,并在其他代码运行时检查当前日期。如果你的代码占用了主线程,那么所有的interval调用都将排队,直到它完成,所以你会看到一个200ms的窗口,其中interval没有被调用,然后在200ms代码完成后快速分离20个调用。
相关文章:
- Web Workers内部的CSS选择
- Web Workers-JSON的可传输对象
- 为什么没有更多地使用 Web Workers
- 是否可以在ChromeCast上的Web Workers中使用setTimout
- Web Workers:SetInterval 和 SetTimeout 可靠性
- Angular2 web workers with ES5
- 是否可以将Morris.js(RaphaelJS)与Web Workers相结合
- Web Workers文件是否可以处理包含或模块
- 创建一个允许HTML5 Web Workers从主线程访问DOM和其他对象的环境是可能的
- XMLHttpRequest和Web Workers访问控制源
- 如何在Javascript中使用Web Workers解析外部JSON文件
- 在使用Angular和Web Workers时从作用域中克隆元素出错
- 使用JavaScript Web Workers进行并行编程/同步
- Web Workers and JSON
- 使用Web Workers使用本地画布函数进行绘图
- importScripts (web workers)
- 为什么在2.2及更高版本中,HTML5 Web Workers支持从Android浏览器中移除?
- 如何通过Web-Workers传递自定义类实例
- JavaScript testing Web Workers
- HTML5 Web Workers可以在Firefox 4中工作,但不能在Chrome 12.0.742.122中工作