详解Angular中的Observable(可观察对象)

本篇文章带大家了解一下angular 可观察对象(observable)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

详解Angular中的Observable(可观察对象)

相关教程推荐:《angular教程》

可观察对象(Observable)

可观察对象支持在应用的发布者和订阅者之间传递消息。

可观察对象是声明式的 —— 即定义的用于发布值的函数,在有消费者订阅它之前,这个函数不会实际执行。

可观察对象可能会发出的三种通知:

通知类型 说明

next必要。用来处理每个送达值。在开始执行后可能执行零次或多次。error可选。用来处理错误通知。错误会中断这个可观察对象实例的执行过程。complete可选。用来处理执行完毕(complete)通知。当执行完毕后,这些值就会继续传给下一个处理器。

定义观察者

观察者(observer): 用于接收可观察对象通知的处理器要实现 Observer 接口,这个对象定义了一些回调函数来处理可观察对象可能会发来的三种通知。
观察者对象可以定义这三种处理器的任意组合。如果你不为某种通知类型提供处理器,这个观察者就会忽略相应类型的通知。

// Create observer objectconst myObserver = {  next: (_data) => {  // next通知类型处理器  },  error: err => {  // error通知类型处理器  },  complete: () => console.log('Observer got a complete notification'),};

登录后复制

订阅

只有当Observable的实例被订阅时,Observable实例才会发布值。订阅时要先调用该实例的subscribe() 方法,并把一个观察者对象传给它,用来接收通知。

语法:Observable.subscribe(ObserverObject),其中,Observable为可观察对象实例,ObserverObject为观察者对象。

// 官网示例// Create simple observable that emits three valuesconst myObservable = of(1, 2, 3);// Create observer objectconst myObserver = {  next: x => console.log('Observer got a next value: ' + x),  error: err => console.error('Observer got an error: ' + err),  complete: () => console.log('Observer got a complete notification'),};// Execute with the observer objectmyObservable.subscribe(myObserver);// Logs:// Observer got a next value: 1// Observer got a next value: 2// Observer got a next value: 3// Observer got a complete notification

登录后复制

另外,subscribe() 方法还可以接收定义在同一行中的回调函数,无论 next、error 还是 complete 处理器。比如,下面的 subscribe() 调用和前面指定预定义观察者的例子是等价的。

myObservable.subscribe(  x => console.log('Observer got a next value: ' + x),  err => console.error('Observer got an error: ' + err),  () => console.log('Observer got a complete notification'));

登录后复制

注: 无论哪种情况,next通知类型的处理器是必要的,而error和complete处理器是可选的。

subscribe() 调用会返回一个 Subscription 对象,该对象具有一个 unsubscribe()方法。 当调用该方法时,你就会停止接收通知。

更多编程相关知识,请访问:编程视频!!

以上就是详解Angular中的Observable(可观察对象)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2716495.html

(0)
上一篇 2025年3月7日 21:56:00
下一篇 2025年2月26日 00:13:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 浅谈Angular组件的交互方式

    本篇文章和大家一起聊聊angular组件的交互方式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular 组件交互 组件交互: 组件通讯,让两个或多个组件之间共享信息。 使用场景: 当某个功能在多个组件中被使用到…

    2025年3月7日
    200
  • 13个关于angular的前端面试题(总结)

    本篇文章给大家总结分享13个关于angular的前端面试题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 1,ng-if 跟 ng-show/hide 的区别有哪些? 第一点区别是,ng-if 在后面表达式为 true …

    2025年3月7日
    200
  • Angular怎么刷新当前页面?方法介绍

    本篇文章给大家分享几种angular刷新当前页面的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular刷新当前页面的几种方法 默认,当收到导航到当前URL的请求,Angular路由器会忽略。 Heroes …

    2025年3月7日
    200
  • 深入浅析Angular中Directive的用法

    本篇文章给大家详细介绍一下angular directive,了解它的用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular Directive 学习 学习目的:为了更好的了解 ng directive 的使…

    2025年3月7日
    200
  • 20个优秀的Angular开源项目,你了解几个呢?

    本篇文章给大家分享20个你值得了解的angular开源项目。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 相关教程推荐:《angular教程》 1.Angular-CLI – angular工具命令行 Git…

    2025年3月7日 编程技术
    200
  • 详解Angular中的Route路由

    本篇文章带大家一起了解angular中的路由(route)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular 路由(Route) 我们可以将路由器理解成控制整个应用状态的视图对象, 每个应用都有一个路由器; …

    2025年3月7日
    200
  • 详解Angular中的NgModule(模块)

    本篇文章带大家详细了解一下angular中的ngmodule(模块)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular 模块(NgModule) Angular 应用是模块化的, 它拥有自己的模块化系统, 称…

    2025年3月7日
    200
  • 深入了解Angular中的Component组件

    本篇文章给大家介绍一下angular中的component组件。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular 组件(Component) 组件(Component) 是构成 Angular 应用的基础和核…

    2025年3月7日
    200
  • Angular开发者必须学习的19件事

    本篇文章给大家介绍一下成为优秀angular开发者所需要学习的19件事。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 一款to-do app基本等同于前端开发的“Hello world”。虽然涵盖了创建应用程序的CRUD…

    2025年3月7日
    200
  • 详解Angular中的依赖注入模式

    本篇文章给大家详细介绍一下angular中的依赖注入模式。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 Angular 依赖注入模式 依赖注入: Dependency Injection 简称 DI 依赖注入模式要解决的…

    2025年3月7日
    200

发表回复

登录后才能评论