Workers多线程处理
Web Workers为网页脚本提供了一种能在后台进程中运行的方法,当创建Worker对象后,WebWorkers就可以同postMessage方法向任务池发送任务请求,执行完之后再通过postMessage返回消息给创建者指定的时间处理程序,然后通过onmessage捕获返回消息,实现前后台数据的交互。
在线程调用的JavaScript脚本文件中所有可用的变量、函数和类如下所示:
- self:用来表示本线程范围内的作用域;
- postMessage:向创建线程的源窗口发送消息;
- onmessage:获取接收消息的事件句柄;
- importScript(urls):导入其他JavaScript脚本文件,参数为该脚本文件的URl地址,可以导入多个脚本文件;
- navigator对象:与window.navigator对象类似,具有appName、platform、userAgent和appVersion属性;
- sessionStorage/localStorage:在线程中可以使用Web Storage;
- XMLHttpRequest:在线程中可以处理Ajax请求;
- Web Workers:在线程中可以嵌套线程;
- setTimeout()/setInterval():在线程中可以实现定时处理;
- close:结束本线程;
- eval()、isNaN()、escape()等:可以使用所有JavaScript核心函数;
- object:可以创建和使用本地对象;
- WebSockets:可以使用Web Sockets API向服务器发送和接收消息。