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
| Parameter | Type | Description |
|---|---|---|
available | boolean | OPFS 是否可用;false 时直接 resolve,不记录路径也不触发任何回调 |
routePath | string | 目标路径 |
getCurrentPath | () => string | 读取当前已展示路径,用于跳过无变化的导航;每轮循环读一次 |
actions | OpfsRouteActions | 见 OpfsRouteActions |
Returns
Promise<void>
本轮 drain 的 Promise;并发调用共享同一个实例。
actions 抛错时以同一个异常 reject,所有共享这轮的调用方一起 reject