diff --git a/packages/console-utils/xconsole-service/src/hooks/useAsync.ts b/packages/console-utils/xconsole-service/src/hooks/useAsync.ts index fb255bf..f68d74e 100644 --- a/packages/console-utils/xconsole-service/src/hooks/useAsync.ts +++ b/packages/console-utils/xconsole-service/src/hooks/useAsync.ts @@ -75,7 +75,11 @@ export interface ReturnValue
{ error?: Error; data?: T; cancel: noop; + /**当次执行的 service 的参数数组*/ + params?: any[]; run: promiseReturn
; + /**使用上一次的 params,重新调用 run */ + refresh: () => void; timer: { stop: noop; resume: noop; @@ -92,6 +96,8 @@ export default function useAsync
( loading: false, cancel: noop, run: promiseReturn, + params: [], + refresh:noop, timer: { stop: noop, resume: promiseReturn, @@ -113,7 +119,7 @@ export default function useAsync
(
   const run = useCallback((...args: any[]): Promise (
       });
   }, deps);
 
+
+  const refresh = useCallback(() => {
+    run(state.params||[]);
+  }, []);
+
   const stop = useCallback(() => {
     count.current += 1;
     // 清除计时器
@@ -248,7 +259,9 @@ export default function useAsync (
     loading: state.loading,
     error: state.error,
     data: state.data,
+    params:state.params,
     cancel,
+    refresh,
     run: options.manual && options.pollingInterval ? start : reload,
     timer: {
       stop,