不使用Workers,javascript代码在浏览器中以单线程模式执行(检查this entry)。为了简化,我们可以说浏览器会在事件,超时和ajax上调用一些js代码,然后耐心等待完成(如果没有你冻结)。
让我们想象一下这个工作流程:
- 浏览器正在进行实际渲染
- 用户点击次数 - >一些js代码开始和结束
- a超时 - >执行一些js代码
- 浏览器执行某些操作
- 用户再次点击 - >一些js代码开始和结束
- ......等等
醇>
问题是,有没有办法每次从浏览器中获得一个唯一的ID,所以当记录一些事件时,我们知道这是一个正在执行的不同任务?
- 浏览器正在进行实际渲染
- 用户点击次数 - >一些js代码开始和结束
- >记录任务2:做某事
- a超时 - >执行一些js代码
- 浏览器执行某些操作
- 用户再次点击 - >一些js代码开始和结束
- >记录任务5:做某事(再次)
- ......等等
醇>
是的确我们可以构建我们的代码来管理它,但这不是实际的问题。