跳到主要内容

assertLoadOptionsTransferable()

function assertLoadOptionsTransferable(loadOptions, options): void;

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

断言即将跨 worker 传递的 load options 可被结构化克隆。

Comlink 用 postMessage 传参,函数不在结构化克隆算法的支持范围内:把 locateFile / print / printErr 这类回调塞进 client.init(dbName, loadOptions) 会在 worker 边界抛 DataCloneError,而报错栈里看不出是哪个选项造成的。

因此在跨线程前显式拦截并点名选项 —— 既不静默丢弃回调(会让 WASM 定位悄悄走错路径), 也不降级回主线程(会伪装出线程隔离的假象)。

Parameters​

ParameterTypeDescription
loadOptionsReadonly<Record<string, unknown>>将被传给 client.init 的运行期选项
optionsCreateSqliteClientOptionstransport 配置,用于判断是否真的跨 worker

Returns​

void

Throws​

worker / sharedWorker 模式下存在函数型选项时抛 RxDBAdapterSqliteError