Appearance
super-tools-lib - v1.74.0 / Modules / class / RunWorker
Class: RunWorker
class.RunWorker
多线程
Since
1.62.0
Example
ts
import { RunWorker } from 'super-tools-lib'
const wok = new RunWorker()
const f = () => {
self.onmessage = (evt) => {
// 执行耗时运算...
self.postMessage('运算完成')
}
}
// 创建一个count子线程
wok.createWorker('count', f)
// 监听count线程返回的运算结果
wok.on('count', ‘message’, (data) => {
console.log(data)
})
// 向count线程传递数据,count线程计算完成后会触发message事件
wok.postMessage('count',[1,2,3,4...])
// 关闭count线程
wok.close('count')
Table of contents
Constructors
Properties
Methods
Constructors
constructor
• new RunWorker()
Properties
_eventPool
• Private _eventPool: EventObserver
_workers
• Private _workers: Map<string, Worker>
Methods
close
▸ close(name): void
关闭worker线程
Parameters
| Name | Type | Description |
|---|---|---|
name | string | 子线程名称 |
Returns
void
createWorker
▸ createWorker(name, f): void
创建Worker
Parameters
| Name | Type | Description |
|---|---|---|
name | string | 子线程名称 |
f | any | 子线程函数 |
Returns
void
on
▸ on(name, type, cb): void
事件监听
Parameters
| Name | Type | Description |
|---|---|---|
name | string | 子线程名称 |
type | "error" | "message" | "messageerror" | 主线程监听子线程返回消息 |
cb | (...rest: any[]) => void | 回调函数 |
Returns
void
postMessage
▸ postMessage(name, params, options?): void
向worker线程传入数据
Parameters
| Name | Type | Description |
|---|---|---|
name | string | 子线程名称 |
params | any | 传递数据 |
options? | StructuredSerializeOptions |
Returns
void