当前位置: 首页 > wzjs >正文

网站怎样改logo百度秒收录

网站怎样改logo,百度秒收录,宁波建设工程造价信息网地址,wordpress菜单滑动在 Reactor 中,transform 和 transformDeferred 是两个用于代码复用和操作符链封装的高级操作符。它们允许你将一组操作符封装成一个函数,并在适当的时候应用到响应式流中。以下是它们的详细总结: 1. transform 操作符 作用:tran…

在 Reactor 中,transformtransformDeferred 是两个用于代码复用和操作符链封装的高级操作符。它们允许你将一组操作符封装成一个函数,并在适当的时候应用到响应式流中。以下是它们的详细总结:


1. transform 操作符

  • 作用transform 操作符允许你将操作符链的一部分封装成一个函数,并在实例化时(assembly time)应用到原始操作符链上。这意味着所有订阅者都会应用相同的操作符链。
  • 适用场景:适用于所有订阅者共享相同行为的场景,例如统一的日志记录、转换等。
  • 示例
      // 定义一个函数,用于过滤掉"orange"颜色并将其余颜色转换为大写Function<Flux<String>, Flux<String>> filterAndMap =f -> f.filter(color -> !color.equals("orange")).map(String::toUpperCase);// 从列表创建Flux,并在过滤和映射前打印每个元素Flux.fromIterable(Arrays.asList("blue", "green", "orange", "purple")).doOnNext(System.out::println)// 使用之前定义的函数对Flux进行转换.transform(filterAndMap)// 订阅转换后的Flux,并打印每个元素.subscribe(d -> System.out.println("Subscriber to Transformed MapAndFilter: " + d));
    
    执行结果如下
    blue
    Subscriber to Transformed MapAndFilter: BLUE
    green
    Subscriber to Transformed MapAndFilter: GREEN
    orange
    purple
    Subscriber to Transformed MapAndFilter: PURPLE
    

2. transformDeferred 操作符

  • 作用transformDeferred 操作符与 transform 类似,也允许你将操作符链封装成一个函数,但主要的区别在于函数的执行时机transformDeferred 是在订阅发生时(subscription time)才应用函数的。这意味着它可以为每个订阅者生成不同的操作链,甚至可以维护一些状态(例如计数器、随机数等)。
  • 适用场景:适用于每个订阅者需要不同操作链的场景,例如根据订阅者的身份、时间、状态等动态生成不同的操作链。
  • 示例
      // 使用AtomicInteger来实现线程安全的计数器AtomicInteger ai = new AtomicInteger();// 定义一个函数,根据计数器的值来选择不同的处理逻辑Function<Flux<String>, Flux<String>> filterAndMap = f -> {// 如果计数器的值为1,则过滤掉"orange"颜色,否则过滤掉"purple"颜色if (ai.incrementAndGet() == 1) {return f.filter(color -> !color.equals("orange")).map(String::toUpperCase);}return f.filter(color -> !color.equals("purple")).map(String::toUpperCase);};// 创建一个Flux,从颜色列表开始,通过.doOnNext()打印每个元素,然后通过.transformDeferred()应用filterAndMap函数Flux<String> composedFlux =Flux.fromIterable(Arrays.asList("blue", "green", "orange", "purple")).doOnNext(System.out::println).transformDeferred(filterAndMap);// 订阅第一个处理流程的结果composedFlux.subscribe(d -> System.out.println("Subscriber 1 to Composed MapAndFilter :" + d));// 订阅第二个处理流程的结果composedFlux.subscribe(d -> System.out.println("Subscriber 2 to Composed MapAndFilter: " + d));
    
    执行结果如下
    blue
    Subscriber 1 to Composed MapAndFilter :BLUE
    green
    Subscriber 1 to Composed MapAndFilter :GREEN
    orange
    purple
    Subscriber 1 to Composed MapAndFilter :PURPLE
    blue
    Subscriber 2 to Composed MapAndFilter: BLUE
    green
    Subscriber 2 to Composed MapAndFilter: GREEN
    orange
    Subscriber 2 to Composed MapAndFilter: ORANGE
    purple
    

3. transformtransformDeferred 的区别

操作符执行时机是否为每个订阅者生成不同操作链是否可以维护状态
transform实例化时
transformDeferred订阅时

4. 总结

  • transform:适用于所有订阅者共享相同操作链的场景,例如统一的日志记录、转换等。
  • transformDeferred:适用于每个订阅者需要不同操作链的场景,例如根据订阅者的身份、时间、状态等动态生成不同的操作链。

通过使用 transformtransformDeferred,你可以更灵活地测试响应式流,尤其是当你需要模拟复杂或非标准的数据流时,它们是非常有用的工具。

http://www.dtcms.com/wzjs/231768.html

相关文章:

  • 泰安城乡建设委员会的网站惠州百度seo哪家好
  • 跨境电商网站平台培训机构网站模板
  • 网站平台建设步骤搜狗推广登录平台官网
  • 怎么做分享连接的网站农产品推广方案
  • 做动态图网站山西seo
  • 网站建设与网页设计...网店运营策划方案
  • 做资讯类网站需要什么资质成都企业网站seo技术
  • 新疆吐鲁番建设网站百度下载官方下载安装
  • 合肥建设集团招聘信息网站网络搜索关键词
  • 开发网站制作东营网站建设哪家更好
  • 辖网站建设电商入门基础知识
  • 淄博网站制作定制品牌seo渠道
  • 没有网站可以做cpc吗下载手机百度最新版
  • 中山东升网站建设百度快速提交入口
  • 博客网站推荐百度产品优化排名软件
  • 藏族网站建设seo资源
  • 做网站需要简介品牌整合营销传播
  • 海外音乐类网站做的比较好的百度广告推广价格
  • 做网站需要投资多少钱百度新闻发布平台
  • 中小企业建网站多少钱建站推广网站
  • 深圳网站建设流程外包服务公司
  • 广西庆海建设发展有限公司网站好用的搜索引擎
  • 网页网站怎么做的百度业务推广
  • 城市网站建设分析报告百度收录检测
  • 便宜做网站靠谱吗优化设计一年级下册数学答案
  • 中太建设集团网站东莞网络科技公司排名
  • 深圳宝安网站建设500元起价太原搜索排名提升
  • 百度域名收录提交入口windows优化大师提供的
  • 做简历有什么网站搜索引擎调词平台价格
  • 天津市建设银行租房网站班级优化大师功能介绍