Skip to content

异步扩展

j-show edited this page Mar 1, 2019 · 2 revisions

扩展异步函数,定义通用异步代码编码规范

TCallback

  • 说明
    • 通过数组形式整合回调函数列表
    • 集中控制触发形式
    • 继承于 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

TDeferred

  • 说明
    • 异步扩展类,观察者模式
    • 基于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)
      • 说明
        • 绑定完成事件回调函数,允许多次绑定
        • donefail事件后触发
      • 参数
        • 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

TPromise

  • 说明
    • 扩展异步链式对象
    • 针对Promise的函数扩展
  • 类函数
    • create([callback], [simple=false])
      • 说明
        • 类对象初始化
      • 参数
        • callback 触发全部回调后的回调函数
        • simple 是否是简单模式
          • simple=true时,warnprogress事件生效
          • simple=false时,warnprogress事件无效
      • 返回
        • object
  • 函数
    • promise([max])
      • 说明
        • 返回操作者对象
        • 通过设置max,可以使用notify函数触发进度事件
      • 参数
        • max progress事件最大触发次数
      • 返回
        • Promise对象
    • done(func)
      • 说明
        • 绑定成功事件回调函数,允许多次绑定
        • resolve函数触发
      • 参数
        • func 回调函数
      • 返回
        • this
    • fail(func)
      • 说明
        • 绑定失败事件回调函数,允许多次绑定
        • reject函数触发
      • 参数
        • func 回调函数
      • 返回
        • this
    • always(func)
      • 说明
        • 绑定完成事件回调函数,允许多次绑定
        • donefail事件后触发
      • 参数
        • 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

Callback([flag=once memory limit], [limit=50], [callback])

  • 说明
    • 通过函数获取回调管理对象,集中化管理回调列表,并统一触发
  • 参数
    • flag=once memory limit 回调对象标签
      • 标签定义,同TCallback类
    • limit=50 回调列表上限
    • callback 回调列表触发完成后,触发的函数
  • 返回
    • 返回 TCallback对象

Deferred([simple=false], [callback])

  • 说明
    • 异步操作对象
    • 根据simple参数,适配不同的异步模式
  • 参数
    • simple 异步模式
      • simple=true时,简单模式,基于TPromise类,可以适配async/awit异步操作
      • simple=false时,复杂模式,基于TDeferred类,可以适配所有环境
      • simple为number时,复杂模式,基于TDeferred类,simple为回调函数上限
    • callback 结束回调,在always事件完成后触发
  • 返回
    • 返回 TDeferred/TPromise对象

Promise([callback])

  • 说明
    • Promise扩展对象
    • 基于 TPromise
  • 参数
    • callback 触发全部回调后的回调函数
  • 返回
    • 返回 TPromise对象

Async(gen, [data], [owner])

  • 说明
    • Generator函数转换为Promise对象
  • 参数
    • gen Generator函数主体
    • data 成功触发参数
    • owner 替换this对象
  • 返回
    • 返回 Promise对象

Done(func)

  • 说明
    • 普通函数转换为async函数
    • 触发done事件
  • 参数
    • func 普通函数
  • 返回
    • 返回 TPromise对象
Clone this wiki locally