import '../types.js'; import { AsyncFunction } from '../types/asyncFunction.js'; import '../types/mutableRecordList.js'; import '../types/mutableRecord.js'; import '../types/union.js'; import '../types/changeFieldType.js'; import '../types/valueOf.js'; import '../types/optional.js'; import '../types/dict.js'; import '../types/JsonObject.js'; import '../types/deepPartial.js'; import '../types/deepRequired.js'; import '../types/ObjectKeys.js'; import '../types/requiredKeys.js'; import '../types/getTypeByPath.js'; import 'type-fest'; import '../types/objectKeyPaths.js'; import '../types/keys.js'; import '../types/arrayMember.js'; import '../types/Unique.js'; import '../types/syncFunction.js'; import '../types/argument.js'; import '../types/lastArgument.js'; import '../types/overloads.js'; import '../types/changeReturns.js'; import '../types/implementOf.js'; import '../types/class.js'; import '../types/firstUpper.js'; import '../types/firstLower.js'; import '../types/primitive.js'; import '../types/IsNumberLike.js'; import '../types/merge.js'; import '../types/collection.js'; import '../types/timeDuration.js'; import '../types/fileSize.js'; import '../types/rename.js'; import '../types/fallback.js'; import '../types/allowEmpty.js'; /** * 重试执行 * 当执行fn出错(throw new Error)时尝试重试执行 * 如果fn throw的错误类名是以Signal结尾的除外 * 特殊情况: * 触发以Signal结尾的错误对象代表了传递某种信号,而不是真正的错误,因此不需要重试执行 * 之所以有这样的考虑,是因为在些场合,我们约定当函数执行时可以通过throw new XXXSignal的方式来向上传递信号,不被视为错误 * * * @param fn * @param options */ declare function retry(this: any, fn: Function, options: { count?: number; interval?: number; default?: any; }): AsyncFunction; export { retry };