reactor之hooks

Posted aofengdaxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reactor之hooks相关的知识,希望对你有一定的参考价值。

Hooks 是一个工具类,它提供了一些方法,用来在 Reactor 的各个阶段添加回调函数,进行全局性的操作。总体来说分为三类:

本部分算是reactor中比较高级的部分,建议在开始上手用reactor做项目前,大概知道有这么一个概念即可。
做了一两个项目以后,再回头来看看hooks是做什么的即可

常用的Hooks类型

  • 丢弃事件的Hooks
  • 错误处理Hooks
  • 组装Hooks

丢弃事件的Hooks

当事件被丢弃时,会调用相应的回调函数。主要包括两个方法:

  • onNextDropped
  • onErrorDropped

demo

Hooks.onNextDropped(System.out::println);
Flux.just(1, 2, 3)
        .map(i -> i * 2)
        .subscribe();

错误处理Hooks

当出现错误时,会调用相应的回调函数。主要包括两个方法:

  • onOperatorError
  • onOperatorDebug

demo

Hooks.onOperatorError((t, context) -> 
    System.out.println("onOperatorError: " + t.getMessage());
    return t;
);
Flux.just(1, 2, 3)
        .map(i -> i * 2)
        .map(i -> 10 / (i - 4))
        .subscribe();

组装Hooks

当组装操作符时,会调用相应的回调函数。主要包括两个方法:

  • onEachOperator
  • onLastOperator

demo

Hooks.onEachOperator(p -> 
    System.out.println("onEachOperator: " + p);
    return p;
);
Flux.just(1, 2, 3)
        .map(i -> i * 2)
        .subscribe();

以上是关于reactor之hooks的主要内容,如果未能解决你的问题,请参考以下文章

web前端 --- JavaScrip基础

前端之JavaScript

前端之javascript

面向数据编程之异步更新 hook

web前端教程之javascript创建对象的方法

前端必备 HTTP 技能之 Ajax 技术详解