根据动作配置的门闩,在启用时可以“留住”当前的值,不再更新.
启用和禁用的动作是通过事件触发的;
可以用于实现诸如:
等功能。
注意:该类应当配合EventRegistry使用,不要直接调用gate和open方法。
Name |
---|
T |
new GatedLatch<T
>(getter
)
Name |
---|
T |
Name | Type |
---|---|
getter |
() => T |
Private
_gated: any
Private
_value: any
Private
gate: any
进入门闩状态,此时value的值将保持当前值,不再更新
Private
Readonly
getter: any
Private
open: any
退出门闩状态,此时value的值将会跟随getter的值
get
value(): null
| T
获取当前的值;如果门闩开启,则返回上一次的值,否则与getter的值同步
null
| T
configureWithEvent<E
>(event
, mapper
): () => void
根据事件配置门闩是否开启
Name |
---|
E |
Name | Type | Description |
---|---|---|
event |
EventRegistry <E > |
相关的事件 |
mapper |
(event : E ) => boolean |
事件映射函数,返回true表示启用门闩,返回false表示关闭门闩 |
fn
取消函数
(): void
根据事件配置门闩是否开启
void
取消函数