RunCatchingMx mixin
Superclass constraints
Mixin applications
Properties
hashCode
→ int
The hash code for this object.
no setter inherited
runtimeType
→ Type
A representation of the runtime type of the object.
no setter inherited
Methods
debounce <R > (Object tag , Duration duration , FutureOr <R > action (), {Duration ? maxDuration })
→ FutureOr <R? >
debounce 防抖: 停止操作后等待 duration 执行最后一次。
maxDuration: 可选,解决“无限重置”问题。如果持续触发超过此时间,强制执行一次。
inherited
dispose ()
→ void
取消所有定时器并清除锁
inherited
isDebounceLocked (Object tag )
→ bool
检查是否正在防抖等待中
inherited
isMutexLocked (Object tag )
→ bool
检查是否正在执行 mutex 任务
inherited
isThrottleLocked (Object tag )
→ bool
检查是否处于节流冷却期
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)
skpIf (bool condition , String reason )
→ void
if you want interrupt the normal flow, but not trigger runCatching.onFailure
skpIfNull (Object ? obj , String reason )
→ void
if obj ==null, throw SkipError
ref skpIf
skpNull <T > (T? obj , String reason )
→ T
if obj == null: throw SkipError
else:
return obj!
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