• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 详解Angular中的Observable(可观察对象)

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

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了Angular,Observable,可观察对象等相关知识,希望对您有所帮助

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


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


可观察对象(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()方法。 当调用该方法时,你就会停止接收通知。


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 什么是依赖注入?在Angular中怎么实现?
  • Angular CLI发布路径的配置项浅析
  • 浅析Angular中HttpClientModule模块有什么用?怎么用?
  • 浅谈Angular中elem.scope()、elem.isolateScope和$compile(elem)(scope)中scope的区别
  • 详解Angular中的Observable(可观察对象)
  • 浅析Angular+rxjs怎么实现拖拽功能?
  • 聊聊在Angular项目中怎么实现权限控制?
  • Angular中怎么自定义视频播放器
  • 详解Angular中的NgModule(模块)
  • Angular学习之以Tooltip为例了解自定义指令

相关文章

  • 2022-04-29PHP中如何理解foreach遍历二维数组
  • 2022-04-29总结PHP中银行卡号通用校验算法
  • 2022-04-29推荐几个常用的wordpress图片自动加水印插件
  • 2022-04-29Photoshop制作超逼真缝线效果
  • 2022-04-29AI和PS快速制作漂亮复古海报
  • 2022-04-29最新织梦漏洞,首页head之间被篡改加入异常代码解决办法
  • 2022-04-29使用织梦DdedCMS添加文章时同时更新所有单页面的
  • 2022-04-29带你搞懂uniapp跨域问题(实例详解)
  • 2022-04-29微信小程序wx.request请求数据报错
  • 2022-04-29Photoshop制作彩色纹理的塑料艺术字教程

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 分享几种用PHP写99乘法表的方式
    • 织梦DedeCMS系统列表页调用TAG标签并带上链接的实
    • PHP中mysql和mysqli的区别是什么
    • 教你在laravel中如何使用elaticsearch(步骤分明)
    • Angular利用service实现自定义服务(notification)
    • Photoshop绘制透明效果的五角星
    • vue路由学习之区分$route和$router,看看它们的区别
    • Thinkphp中import的五种使用方法(附代码示例)
    • PS快速制作一款华丽的按钮
    • Ripro主题解决修改网站标题小尾巴的办法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有