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