跳到主要内容

trackWorkingTreeCommand()

function trackWorkingTreeCommand<T>(emit, run): Promise<T>;

Defined in: packages/rxdb-plugin-working-tree/src/working-tree/async-state.ts:209

跑一次命令,沿途发出 loading → success | error。

Type Parameters​

Type Parameter
T

Parameters​

ParameterTypeDescription
emitWorkingTreeStateSink<WorkingTreeCommandState<T>>状态去处
run() => Promise<T>真正的调用

Returns​

Promise<T>

run 的返回值

Throws​

run 抛出的原样错误

Remarks​

loading 在 run() 之前同步发出,不是等到第一个 await 之后:commit() 期间 不得静默(§4),而「等结果回来再补一个 loading」等于整个等待期都没有状态。

错误照样往上抛,不吞成一个只有状态没有异常的调用:调用方的 await commit() 必须能 reject,否则「提交失败」这件事只有订阅了状态的那部分 UI 知道。