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
| Parameter | Type | Description |
|---|---|---|
directClient | T | 主线程客户端实例,未配置 transport 时原样返回 |
options | CreateSqliteClientOptions | transport 与所有权配置 |
Returns
Promise<T | Remote<T>>
主线程客户端或独立子端口上的 Comlink 远端代理
Remarks
直接对 Worker 调用 wrap() 得到的是根代理;释放它会让 Worker 侧 expose()
永久移除消息监听,之后同一 Worker 无法重连。这里缓存根控制代理,只通过
createEndpoint 为每次连接创建可独立释放的 MessagePort。Worker 内仍可继续使用
既有的 expose(new SqliteClient()),无需切换公开协议。
同一个 Worker 暴露的是同一个客户端实例,不允许并发租用;上一连接释放后才能重连。