intercept
对被拦截的内容进行处理。
想要继续流程则使用 Context.invoke 进入到下一个拦截器,或者进入正常流程。
例如放行:
override fun intercept(context: Context): Flow<EventResult> {
   // do something...?
   // 执行 context.invoke() 就是放行。
   val result = context.invoke()
   // and do something...?
   return result
}Content copied to clipboard
例如拦截:
override fun intercept(context: Context): Flow<EventResult> {
   // 不执行 context.invoke() 就是拦截。
   // 返回一个空的结果流,实际上并没有真正执行事件调度链。
   return emptyFlow()
}Content copied to clipboard