跳到主要内容

useAction()

function useAction<Options, RT>(promiseFn): ActionResource<Options, RT>;

Defined in: rxdb-angular/src/use-action.ts:63

把一个异步函数包成带加载状态的可调用 action。

Type Parameters​

Type ParameterDefault typeDescription
Optionsvoid调用参数类型;默认 void 表示无参
RTunknown异步函数的返回类型

Parameters​

ParameterTypeDescription
promiseFn(options) => Promise<RT>被包装的异步函数

Returns​

ActionResource<Options, RT>

见 ActionResource

Remarks​

并发语义:内部按未完成调用计数(而非布尔标志),因此多次并发调用时 isPending 会保持为真直到最后一个完成。action 本身不做去重也不取消在途调用 —— 需要「同一时刻只跑一个」请由调用方在 isPending 为真时自行拦截。

被包装函数抛出的错误原样向上冒泡,isPending 在 finally 中恢复(RAN-015)。

三端等价实现:Vue useAction(ComputedRef)、React useAction(渲染快照), 语义完全一致,只是 isPending 的容器形态不同。