FrService class abstract

FrService

Inheritance
Mixed-in types
Implementers

Constructors

FrService()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

autoDispose<T extends StreamSubscription?>(T subs, {String? tag}) → T
inherited
debounce<R>(Object tag, Duration duration, FutureOr<R> action(), {Duration? maxDuration}) FutureOr<R?>
debounce 防抖: 停止操作后等待 duration 执行最后一次。 maxDuration: 可选,解决“无限重置”问题。如果持续触发超过此时间,强制执行一次。
inherited
dispose() → void
inherited
frPrint(String message, {DateTime? time, int? sequenceNumber, int? level, String? name, Zone? zone, Object? error, StackTrace? stackTrace}) → dynamic
inherited
isDebounceLocked(Object tag) bool
检查是否正在防抖等待中
inherited
isMutexLocked(Object tag) bool
检查是否正在执行 mutex 任务
inherited
isThrottleLocked(Object tag) bool
检查是否处于节流冷却期
inherited
logger(String message, {LogExtra? logExtra, DateTime? time, int? sequenceNumber, int level = 0, String? name, Zone? zone, Object? error, StackTrace? stackTrace, bool uriFrame = true}) → dynamic
logExtra print stack frame info name logger.name null: and if logExtra ==null: will use 'runtimeType' else: will use stack frame info stackTrace will print with red color by dev.log but if error == null: will ignore stackTrace
inherited
mutex<R>(Object tag, FutureOr<R> action()) FutureOr<R?>
mutex 互斥锁 (Exhaust): 立即执行,执行期间的触发直接丢弃。
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
runCatching<R>(FutureOr<R?> block(), {FutureOr<R?> onSuccess(R data)?, FutureOr<R?> onFailure(Object e, StackTrace s)?, bool ignoreSkipError = true, int slowlyMs = 0, Object? debounceTag, Object? throttleTag, Object? mutexTag}) FutureOr<R?>
ignoreSkipError same as update((o)=>null) true: SkipError will not trigger onFailure when true ref skpIf/skpNull slowlyMs if set <=0 value, will ignore debounce/throttleTag debounceTag enable debounce throttleTag enable throttle mutexTag enable concurrency lock (Exhaustive behavior)
inherited
skpIf(bool condition, String reason) → void
if you want interrupt the normal flow, but not trigger runCatching.onFailure
inherited
skpIfNull(Object? obj, String reason) → void
if obj ==null, throw SkipError ref skpIf
inherited
skpNull<T>(T? obj, String reason) → T
if obj == null: throw SkipError else: return obj!
inherited
subBy<T extends StreamSubscription>(String tag) → T
inherited
throttle<R>(Object tag, Duration duration, FutureOr<R> action(), {bool ensureLast = false}) FutureOr<R?>
throttle 节流: 固定频率执行。 配合 mutex 解决异步任务重叠问题:如果周期到了但上次任务还没跑完,直接跳过。 ensureLast: 如果为 true,则在节流期间的最后一次触发将被防抖补发。
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited