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

采光板及采光瓦营销型网站建设photoshop属于什么软件

采光板及采光瓦营销型网站建设,photoshop属于什么软件,网站建设公司营业执照经营范围,做一个公司网站要多少钱RxJS 核心方法实践与错误处理详解 围绕 RxJS 的核心方法进行实操涵盖 observable 的构建、定时器的使用、错误处理机制(如 retry 和 catchError)、以及 defer 和 lastValueFrom 的使用场景 1 )RxJS 基础实践:Timer 的使用 我们首先…

RxJS 核心方法实践与错误处理详解

  • 围绕 RxJS 的核心方法进行实操
  • 涵盖 observable 的构建、定时器的使用、错误处理机制(如 retrycatchError)、以及 deferlastValueFrom 的使用场景

1 )RxJS 基础实践:Timer 的使用

我们首先在项目中使用 RxJS 的 Observabletimer 方法来进行实际操作。由于项目中已通过 netDS 依赖引入了 RxJS,因此无需额外安装。

我们新建一个名为 indexMGS 的文件,并在其中导入以下内容:

import { Observable } from 'rxjs';
import { timer } from 'rxjs';

随后,我们定义一个定时器:

const exampleTimer = timer(2000); // 2秒后触发

然后订阅该定时器:

exampleTimer.subscribe({next: (value) => console.log('timeremitted', value),complete: () => console.log('timercomplete')
});

这段代码会在两秒后输出 timeremitted 0,并在完成后打印 timercomplete

2 )错误处理:Retry 与 CatchError 的配合使用

接下来我们演示如何使用 RxJS 提供的 错误处理 API,包括 throwErrorretrycatchError

我们定义一个 observable,主动抛出错误:

const errorObservable = new Observable((subscriber) => {subscriber.error(new Error('this is an error'));
});

通过 pipe 方法结合 retry(3)catchError 实现重试三次并捕获最终错误:

import { retry, catchError } from 'rxjs/operators';errorObservable.pipe(retry(3),catchError((err) => {console.log('caught error:', err.message);return throwError(() => new Error('after retries'));})
).subscribe({error: (error) => console.log('subscribe error final:', error.message)
});
  • 在测试过程中,“retry”被执行了4次,这是因为第一次执行也算作一次尝试,之后才进行三次重试
  • 这一机制非常适用于网络请求或数据库连接等需要自动重试的场景

3 )延迟创建:使用 Defer 与 LastValueFrom 获取最终值

  • 第三个示例中,我们将使用 deferlastValueFrom 来演示延迟创建 observable 并获取其最后一个值。

  • 我们定义一个 defer observable:

    import { defer } from 'rxjs';const deferredObservable = defer(() => {console.log('observable created');return new Observable((subscriber) => {subscriber.next('hello');subscriber.complete();});
    });
    
  • 接着使用 lastValueFrom 获取 observable 的最后一个值:

    import { lastValueFrom } from 'rxjs';async function getDeferredValue() {const result = await lastValueFrom(deferredObservable);console.log('deferred value:', result);
    }
    
  • 运行后,控制台将输出:

    observable created
    deferred value: hello
    
  • lastValueFrom 的作用是将 observable 转换为 promise,并返回其最后一个值

  • 它会自动订阅该 observable 并等待其完成

4 ) 结合 Timer 实现延迟输出

  • 示例 让 hello 在两秒后输出,实现方式如下:

    subscriber.next('hello three');
    subscriber.complete();
    
  • 修改为使用 timer 延迟执行:

    timer(2000).subscribe(() => {subscriber.next('hello three');subscriber.complete();
    });
    
  • 运行后,observable created 会立即输出,而 deferred value: hello three 将在两秒后打印

总结

  • 通过以上三个示例,实现了 RxJS 的几个核心方法:
      1. Timer:用于定时触发 observable 的响应。
      1. Retry 与 CatchError:实现错误自动重试及最终错误捕获。
      1. Defer 与 LastValueFrom:延迟创建 observable 并获取其最终值。
  • 这些方法在实际开发中具有广泛的应用价值
  • 例如在处理网络请求、数据库连接、异步任务调度等场景时
  • 能够极大地提升代码的健壮性与可维护性
  • 建议大家结合官方 RxJS 文档,进一步深入理解这些操作符的原理与使用技巧
  • 并将其应用到实际项目中,例如 freestmas 模型的构建与优化
http://www.dtcms.com/a/611722.html

相关文章:

  • 【大模型】重磅升级!文心 ERNIE-5.0 新一代原生全模态大模型,这你都不认可它吗?!
  • 打不开wordpress站点海南网站建设平台
  • 如何一个空间放两个网站app外包接单
  • 网站优化seo网站架构优化高端酒店网站模板
  • 前端学习1
  • wordpress整站源码wordpress文章图片没src地址
  • Duration详解
  • 网站投放网站建设设计指标
  • memcpy((mem->memory[mem->size]), data, data_size)什么意思
  • 白银市建设局网站首页苏州网站搜索优化
  • 能打开任何网站浏览器wordpress 吾爱破解
  • 微信网站案例长沙城市建设档案馆网站
  • 撤销个人网站备案企业网站托管注意事项
  • 需要推销自己做网站的公司网站建设小程序开发
  • 《C++探幽:仿函数与lambda表达式》
  • python与c++中“类方法“继承再拓展的区别
  • 电商设计素材网站推荐网络推广网站的方法
  • 制作外贸网站的公司简介最新小组排名
  • 数字孪生轻量化加载!移动端如何流畅操控巨型工程?
  • 高明铝业网站建站z怎么做优惠券网站
  • Linux:动态链接与静态链接以及动态库与静态库
  • 如何来构建一个成交型网站企业品牌vi设计
  • 深圳网站建设快速排名自适应网站可以做伪静态页面吗
  • 学网站建设的工资高吗软件网站关键词优化
  • 代理记账 营销型网站沈阳seo博客
  • 有谁用2008做网站服务器施工企业会计王玉红课后答案
  • 【教学类-98-04】20251114《动物花花衣》只有轮廓的动物
  • 获取网站访客qq 原理wordpress mysql 5.7
  • C语言--结构体(Struct)
  • 网站建设忄金手指专业简单aspx网站开发