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
| Parameter | Type | Description |
|---|---|---|
emit | WorkingTreeStateSink<WorkingTreeCommandState<T>> | 状态去处 |
run | () => Promise<T> | 真正的调用 |
Returns
Promise<T>
run 的返回值
Throws
run 抛出的原样错误
Remarks
loading 在 run() 之前同步发出,不是等到第一个 await 之后:commit() 期间
不得静默(§4),而「等结果回来再补一个 loading」等于整个等待期都没有状态。
错误照样往上抛,不吞成一个只有状态没有异常的调用:调用方的 await commit()
必须能 reject,否则「提交失败」这件事只有订阅了状态的那部分 UI 知道。