跳到主要内容

OpfsRouteSync

Defined in: packages/utils/src/@browser/opfs-route-sync.ts:17

把路由路径同步到 OPFS 浏览器视图,串行化并发请求。

同一时刻只跑一轮 drain:期间到来的 sync 只覆盖「目标路径」并共享同一个 Promise, 因此中间路径会被丢弃,最终只保证收敛到最后一次请求的路径。

有状态,需按视图实例持有。

Constructors​

Constructor​

new OpfsRouteSync(): OpfsRouteSync;

Returns​

OpfsRouteSync

Methods​

sync()​

sync(
available,
routePath,
getCurrentPath,
actions
): Promise<void>;

Defined in: packages/utils/src/@browser/opfs-route-sync.ts:32

请求同步到 routePath。

Parameters​

ParameterTypeDescription
availablebooleanOPFS 是否可用;false 时直接 resolve,不记录路径也不触发任何回调
routePathstring目标路径
getCurrentPath() => string读取当前已展示路径,用于跳过无变化的导航;每轮循环读一次
actionsOpfsRouteActions见 OpfsRouteActions

Returns​

Promise<void>

本轮 drain 的 Promise;并发调用共享同一个实例。 actions 抛错时以同一个异常 reject,所有共享这轮的调用方一起 reject