跳到主要内容

wrapWithComlinkEndpoint()

function wrapWithComlinkEndpoint<T>(directClient, options): Promise<T | Remote<T>>;

Defined in: packages/rxdb-adapter-sqlite-core/src/create_sqlite_client.ts:159

为一次客户端连接创建独立的 Comlink 子端口。

Type Parameters​

Type Parameter
T extends SqliteClientLike

Parameters​

ParameterTypeDescription
directClientT主线程客户端实例,未配置 transport 时原样返回
optionsCreateSqliteClientOptionstransport 与所有权配置

Returns​

Promise<T | Remote<T>>

主线程客户端或独立子端口上的 Comlink 远端代理

Remarks​

直接对 Worker 调用 wrap() 得到的是根代理;释放它会让 Worker 侧 expose() 永久移除消息监听,之后同一 Worker 无法重连。这里缓存根控制代理,只通过 createEndpoint 为每次连接创建可独立释放的 MessagePort。Worker 内仍可继续使用 既有的 expose(new SqliteClient()),无需切换公开协议。

同一个 Worker 暴露的是同一个客户端实例,不允许并发租用;上一连接释放后才能重连。