跳到主要内容

DevToolsSnapshotLock

Defined in: native/native-snapshot-source.ts:47

storage 全局独占锁。

Methods​

run()​

run<TValue>(signal, task): Promise<DevToolsSnapshotLockResult<TValue>>;

Defined in: native/native-snapshot-source.ts:60

取得独占锁并在锁内运行 task。

Type Parameters​

Type Parameter
TValue

Parameters​

ParameterTypeDescription
signalAbortSignal中止信号。
task() => Promise<TValue>锁内执行的物化。

Returns​

Promise<DevToolsSnapshotLockResult<TValue>>

锁内结果、锁归属丢失,或等锁/锁内被中止。

Remarks​

lost 与 aborted 分开报,是因为它们对宿主的含义不同(前者要放弃租约,后者要停止等待), 尽管两者对本模块都归结为「这个时点不成立」。等锁必须响应 signal:15 秒 deadline 与显式取消都只能通过它中断。