上下文 (Context)
服务与混入
Cordis 基于组合式 API 设计,绝大部分上下文属性和方法都挂载在服务上。下面列出了内置服务或标准库提供的属性和方法。你可以像使用实例属性和方法一样使用它们。这些 API 的具体用法在对应的文档页面中有详细介绍,你可以点击对应的链接前往查看。
ctx.bail
ctx.debounce
ctx.effect
ctx.emit
ctx.events
ctx.extend
ctx.get
ctx.http
ctx.interval
ctx.inject
ctx.intercept
ctx.isolate
ctx.loader
ctx.logger
ctx.on
ctx.parallel
ctx.plugin
ctx.provide
ctx.reflect
ctx.registry
ctx.scope
ctx.serial
ctx.server
ctx.set
ctx.timeout
ctx.timer
ctx.throttle
ctx.waterfall
实例属性
ctx.scope
- 类型:
EffectScope
当前上下文的作用域。
实例方法
ctx.extend(meta)
- meta:
object
- 返回值:
this
构造一个以当前上下文为原型的新上下文实例,新实例拥有 meta
上的属性。
ctx.intercept(name, config) 实验性
- name:
string
服务名称 - config:
object
配置拦截 - 返回值:
this
为 name
服务添加一层配置拦截。返回新的上下文实例。
ctx.isolate(name, label?)
- name:
string
服务名称 - label:
symbol
隔离域符号 - 返回值:
this
创建一个针对 name
服务的隔离域。返回新的上下文实例。
静态属性
Context.filter
- 类型:
symbol
任何对象如果拥有该属性,它的类型应当是 (ctx: Context) => boolean
。
这个函数将用于过滤事件和其他功能的触发上下文。