<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [worker-tls](./worker-tls.md) &gt; [WorkerClient](./worker-tls.workerclient.md)

## WorkerClient class

动态Worker 抽像基类

**Signature:**

```typescript
export declare abstract class WorkerClient<W extends AbstractWorker = Worker> 
```

## Remarks

动态 Worker 具备以下特点：

- 往 Worker 中添加函数、全局变量 等

- 调用 Worker 中的任意全局函数 或 全局变量

- 像调用本地方法一样调用 Worker 里的方法

- 会自动给实例自身添加快捷命令

- 支持异步、流

- 支持异步和流互相嵌套

- 支持 Worker 和 SharedWorker

## Constructors

<table><thead><tr><th>

Constructor


</th><th>

Modifiers


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[(constructor)(named)](./worker-tls.workerclient._constructor_.md)


</td><td>


</td><td>

Constructs a new instance of the `WorkerClient` class


</td></tr>
</tbody></table>

## Properties

<table><thead><tr><th>

Property


</th><th>

Modifiers


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[execCount](./worker-tls.workerclient.execcount.md)


</td><td>

`protected`


</td><td>

number


</td><td>

执行命令的计数


</td></tr>
<tr><td>

[executingCount](./worker-tls.workerclient.executingcount.md)


</td><td>

`abstract`


</td><td>

number


</td><td>

正在执行中的任务数


</td></tr>
<tr><td>

[id](./worker-tls.workerclient.id.md)


</td><td>

`readonly`


</td><td>

number


</td><td>


</td></tr>
<tr><td>

[instanceCount](./worker-tls.workerclient.instancecount.md)


</td><td>

`protected`

`static`


</td><td>

number


</td><td>

实例的计数


</td></tr>
<tr><td>

[port](./worker-tls.workerclient.port.md)


</td><td>

`readonly`


</td><td>

MessagePort


</td><td>

消息端口


</td></tr>
<tr><td>

[worker](./worker-tls.workerclient.worker.md)


</td><td>

`abstract`


</td><td>

[DWorker](./worker-tls.dworker.md)<!-- -->&lt;W&gt;


</td><td>

Worker 的实例


</td></tr>
<tr><td>

[workerAndPort](./worker-tls.workerclient.workerandport.md)


</td><td>

`readonly`


</td><td>

\[[DWorker](./worker-tls.dworker.md)<!-- -->&lt;W&gt;, MessagePort\]


</td><td>

获取 Worker 和 对应的 消息端口


</td></tr>
</tbody></table>

## Methods

<table><thead><tr><th>

Method


</th><th>

Modifiers


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

[execCMD(exec, transfer)](./worker-tls.workerclient.execcmd.md)


</td><td>


</td><td>

执行 worker 中的命令


</td></tr>
<tr><td>

[execEnded(worker)](./worker-tls.workerclient.execended.md)


</td><td>


</td><td>

执行已开始


</td></tr>
<tr><td>

[execStarted(worker, execRec)](./worker-tls.workerclient.execstarted.md)


</td><td>


</td><td>

执行已开始


</td></tr>
<tr><td>

[getExecId(cmdName)](./worker-tls.workerclient.getexecid.md)


</td><td>


</td><td>

获取本次执行的执行 id


</td></tr>
<tr><td>

[getExecRecord(exec)](./worker-tls.workerclient.getexecrecord.md)


</td><td>


</td><td>

根据调用信息生成调用记录数据


</td></tr>
<tr><td>

[getPort(worker)](./worker-tls.workerclient.getport.md)


</td><td>


</td><td>

获取消息端口


</td></tr>
<tr><td>

[listenResponse(id, worker)](./worker-tls.workerclient.listenresponse.md)


</td><td>


</td><td>

监听响应


</td></tr>
<tr><td>

[setCMDToSelf(name, isProperty)](./worker-tls.workerclient.setcmdtoself.md)


</td><td>


</td><td>

往自身上添加命令成员


</td></tr>
</tbody></table>
