Home > @jview/hooks > useAsyncLoading
useAsyncLoading() function
你是否为一些异步状态的管理感到烦恼?如果答案是肯定的,那么 useAsyncLoading 一定是一剂良药。 useAsyncLoading 会包装函数 fn,并返回触发器和一些状态量,你可以通过触发器 trigger 来触发函数 fn 的执行,通过状态量 loading 来感知加载状态,这个 loading 可以绑定到按钮属性上,也可以作为一些判定的条件。 注意,fn 通常是异步的,比如返回一个 Promise,那么在 loading 状态下,再次调用 trigger 也不会重复触发 fn 的执行,这一点与 Button 组件的 loading 也有异曲同工之妙。
Signature:
typescript
export declare function useAsyncLoading(fn: GeneralFunction<Promise<unknown>>): AsyncLoadingResponse;
export declare function useAsyncLoading(fn: GeneralFunction<Promise<unknown>>): AsyncLoadingResponse;
Parameters
Parameter | Type | Description |
---|---|---|
fn | GeneralFunction<Promise<unknown>> | 待包装的函数,它应该返回一个 Promise |
Returns: