TypeScript 在浏览器与服务器端的应用实践
一、Web Workers 在浏览器中的应用
JavaScript 设计为在单线程上运行事件循环,不过在某些需要额外线程的场景下,我们可以使用 Web Workers。Web Workers 允许脚本在后台线程运行,它有独立的全局上下文,并能通过事件与创建它的任务进行通信。
1. 创建 Web Worker
要创建一个新的 Worker,运行在后台线程的代码必须包含在一个单独的 JavaScript 文件中。以下是 worker.ts 的代码示例:
declare function postMessage(message: any): void;
let id = 0;
self.setInterval(() => {
id++;
var message = {
'id': id,
'message': 'Message sent at ' + Date.now()
};
postMessage(message);
}, 1000);
在这个例子中, setInterval 方法是在 self 上调用,而非 window ,这表明 Worker 在独立的上下文和作用域中运行。 postMessage 事件用于从 Worker 向主线程发送信息,传递给或从 Worker 接收的任何对象
TypeScript全栈应用实践
超级会员免费看
订阅专栏 解锁全文
114

被折叠的 条评论
为什么被折叠?



