-
-
Notifications
You must be signed in to change notification settings - Fork 0
异步扩展
j-show edited this page Mar 1, 2019
·
2 revisions
- 说明
- 通过数组形式整合回调函数列表
- 集中控制触发形式
- 继承于
TSeal
- 类函数
-
create(opt, limit, callback)
- 说明
- 类对象初始化
- 参数
-
[opt]
核心参数-
opt.memory=false
是否记忆上次触发状态 -
opt.fire=false
是否自动触发 -
opt.once=true
是否只调用一次回调 -
opt.unique=false
是否允许函数重复
-
-
limit
回调函数上限 -
callback
触发全部回调后的回调函数
-
- 返回
- object
- 说明
-
- 函数
-
lock()
- 说明
- 锁定对象,锁定后不允许触发回调
- 返回
- 返回 boolean
- 说明
-
unlock()
- 说明
- 解除锁定
- 返回
- 返回 boolean
- 说明
-
on([func...])
- 说明
- 添加回调函数
- 参数
-
func
回调函数- 允许回调函数数组
-
- 返回
- this
- 说明
-
off(func)
- 说明
- 删除回调函数
- 参数
-
func
删除指定的回调函数
-
- 返回
- this
- 说明
-
fire()
- 说明
- 触发回调函数
- 参数
- 参数会被带入到所有回调函数中
- 返回
- this
- 说明
-
fireWith(own, [args], [done])
- 说明
- 以参数own为this,触发回调函数
- 参数
-
own
this替换对象 -
args
触发回调的参数 -
done
全部回调完成时,触发函数
-
- 返回
- this
- 说明
-
unique()
- 说明
- 删除重复回调函数,锁定状态时无效
- 返回
- this
- 说明
-
has(func)
- 说明
- 判断回调函数是否重复
- 返回
- this
- 说明
-
- 属性
-
length
- 说明
- 回调函数数量
- 只读
- 返回
- number
- 说明
-
locked
- 说明
- 是否锁定状态
- 读写
- 返回
- boolean
- 说明
-
- 说明
- 异步扩展类,观察者模式
- 基于TCallback类,进行异步处理,方式与jquery的Deferred一致
- 继承于
TSeal
- 类函数
-
create(limit, callback)
- 说明
- 类对象初始化
- 参数
-
limit
回调函数上限 -
callback
触发全部回调后的回调函数
-
- 返回
- object
- 说明
-
- 函数
-
promise([own], [max])
- 说明
- 返回操作者对象
- 通过设置max,可以使用
notify
函数触发进度事件 - Deferred对象必须使用promise函数的返回对象,才能进行函数触发事件
- 参数
-
own
回调函数的this对象 -
max
progress事件最大触发次数
-
- 返回
- this
- 说明
-
done(func)
- 说明
- 绑定成功事件回调函数,允许多次绑定
- 由
resolve
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
fail(func)
- 说明
- 绑定失败事件回调函数,允许多次绑定
- 由
reject
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
always(func)
- 说明
- 绑定完成事件回调函数,允许多次绑定
- 在
done
、fail
事件后触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
warn(func)
- 说明
- 绑定警告事件回调函数,允许多次绑定
- 警告事件允许多次触发
- 由
alarm
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
progress(func)
- 说明
- 绑定进度事件回调函数,允许多次绑定
- 进度事件允许多次触发
- 由
notify
函数触发,触发次数达到上限时自动触发done
函数
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
resolve(arg)
- 说明
- 触发
done
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
reject(arg)
- 说明
- 触发
fail
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
alarm(arg)
- 说明
- 触发
warn
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
notify(arg)
- 说明
- 触发
progress
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
- 属性
-
state
- 说明
- 当前异步状态
- 只读
- 返回
- number
- 说明
-
- 说明
- 扩展异步链式对象
- 针对Promise的函数扩展
- 类函数
-
create([callback], [simple=false])
- 说明
- 类对象初始化
- 参数
-
callback
触发全部回调后的回调函数 -
simple
是否是简单模式- simple=true时,
warn
、progress
事件生效 - simple=false时,
warn
、progress
事件无效
- simple=true时,
-
- 返回
- object
- 说明
-
- 函数
-
promise([max])
- 说明
- 返回操作者对象
- 通过设置max,可以使用
notify
函数触发进度事件
- 参数
-
max
progress事件最大触发次数
-
- 返回
- Promise对象
- 说明
-
done(func)
- 说明
- 绑定成功事件回调函数,允许多次绑定
- 由
resolve
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
fail(func)
- 说明
- 绑定失败事件回调函数,允许多次绑定
- 由
reject
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
always(func)
- 说明
- 绑定完成事件回调函数,允许多次绑定
- 在
done
、fail
事件后触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
warn(func)
- 说明
- 绑定警告事件回调函数,允许多次绑定
- 警告事件允许多次触发
- 由
alarm
函数触发
- 参数
-
func
回调函数
-
- 返回
- this
- 说明
-
progress(func)
- 说明
- 绑定进度事件回调函数,允许多次绑定
- 进度事件允许多次触发
- 由
notify
函数触发,触发次数达到上限时自动触发done
函数
- 说明
-
resolve(arg)
- 说明
- 触发
done
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
reject(arg)
- 说明
- 触发
fail
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
alarm(arg)
- 说明
- 触发
warn
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
notify(arg)
- 说明
- 触发
progress
事件
- 触发
- 参数
-
arg
传递参数
-
- 返回
- this
- 说明
-
- 说明
- 通过函数获取回调管理对象,集中化管理回调列表,并统一触发
- 参数
-
flag=once memory limit
回调对象标签- 标签定义,同TCallback类
-
limit=50
回调列表上限 -
callback
回调列表触发完成后,触发的函数
-
- 返回
- 返回 TCallback对象
- 说明
- 异步操作对象
- 根据simple参数,适配不同的异步模式
- 参数
-
simple
异步模式- simple=true时,简单模式,基于TPromise类,可以适配async/awit异步操作
- simple=false时,复杂模式,基于TDeferred类,可以适配所有环境
- simple为number时,复杂模式,基于TDeferred类,simple为回调函数上限
-
callback
结束回调,在always事件完成后触发
-
- 返回
- 返回 TDeferred/TPromise对象
- 说明
- Promise扩展对象
- 基于 TPromise
- 参数
-
callback
触发全部回调后的回调函数
-
- 返回
- 返回 TPromise对象
- 说明
- Generator函数转换为Promise对象
- 参数
-
gen
Generator函数主体 -
data
成功触发参数 -
owner
替换this对象
-
- 返回
- 返回 Promise对象
- 说明
- 普通函数转换为async函数
- 触发
done
事件
- 参数
-
func
普通函数
-
- 返回
- 返回 TPromise对象
- WebBrowser
- Node.js