[RxJS] BehaviorSubject

When an Observer subscribe to a BehaviorSubject. It receivces the last emitted value and then all the subsequent values. BehaviorSubject requires that we provide a starting value, so taht all Observers will always receive a value when they subscribe to a BehaviorSubject.

Imagine we want to retreve a remote file and print its contents on an HTML page, but we wnat placeholder text while we wait for the contents. We can use a BehaviorSubject for this.

var subject = new Rx.BehaviorSubject(‘Waiting for content‘);
subject.subscribe(
function(result) {
  document.body.textContent = result.response || result;
},
function(err) {
  document.body.textContent = ‘There was an error retrieving content‘;
}
);
Rx.DOM.get(‘/remote/content‘).subscribe(subject);
时间: 2024-07-30 20:32:12

[RxJS] BehaviorSubject的相关文章

关于rxjs subject订阅分发实现Angular的全局数据管理与同步更新

自定义实现angular中数据的状态管理,如有不妥请指正 一.先介绍一下rxjs中subject: Import {subject}from’rxjs’ Subject 数据的订阅与分发,结合报刊的发布与订阅进行功能的模拟,subject即是observeable对象也是observer对象,subject对于后期没有数据更新时所添加的订阅者是不怎么友好的,因为不跟新数据时订阅者就不在收到返回的数值     const interval$ = interval(1000).pipe(take(1

[Angular & Web] Retrieve user data from Session

Once user sign up, we store the user data inside cookie in the broswer and also keep a memory copy in the server. If next time, user refresh the page, we want to tell that the user is already authed. Create a endpoint, to retrive the user data: app.r

[Angular] Reactive Store and AngularFire Observables

A simple store implemenet: import { Observable } from 'rxjs/Observable'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import 'rxjs/add/operator/pluck'; import 'rxjs/add/operator/distinctUntilChanged'; import {User} from './auth/shared/serv

[Angular] Design API for show / hide components based on Auth

Simple Auth service: import { Injectable } from '@angular/core'; import {HttpClient} from '@angular/common/http'; import {Observable} from 'rxjs/Observable'; import {User} from '../model/user'; import {BehaviorSubject} from 'rxjs/BehaviorSubject'; im

Ionic3学习笔记(十)实现夜间模式功能

本文为原创文章,转载请标明出处 目录 创建主题样式 导入 variables.scss 创建 provider 创建 page 在 App 入口处应用主题 效果图 1. 创建主题样式 在 ./src/theme 文件夹下创建 theme.light.scss.theme.dark.scss 2个文件,分别用于日间模式.夜间模式的设置. theme.light.scss: .light-theme { ion-content { background-color: #f4f4f4; } .item

angular脏值检测策略

Angular默认情况下保守,当某个节点发生更改时,每次检查每个组件,如下图 我们发现每次变化检测都是从根组件开始,从上往下执行.虽然 Angular 2 优化后的变化检测执行的速度很快,每毫秒几十万次,但我们能否只针对那些有变化的组件才执行变化检测或灵活地控制变化检测的时机呢 ? 答案是有的,接下来我们看一下具体怎么进行优化. 先来一个简单的例子: app.component.ts import { Component } from '@angular/core'; @Component({

[RxJS] Multicasting shortcuts: publish() and variants

Because using multicast with a new Subject is such a common pattern, there is a shortcut in RxJS for this: the publish() operator. This lesson introduces publish() and its variants publishReplay(), publishBehavior(), publishLast(), share(), and shows

[译]RxJS 5.X基础篇

欢迎指错与讨论 : ) 当前RxJS版本:5.0.0-beta.10.更详细的内容尽在RxJS官网http://reactivex.io/rxjs/manual/overview.html.文章比较长,可以通过快捷键 command+f 或者 alt+f 搜索主要内容. - 前言  RxJS在ng2.react( mobx ) 中扮演一个重要角色,因此笔者想学好RxJS,提前做好准备.本文95%非原创,而是笔者对RxJS官网基础篇的翻译,如有错漏请指出.本文主要内容:简介和六大概念(Observ

angular2 学习笔记 ( rxjs 流 )

RxJS 博大精深,看了好几篇文章都没有明白. 范围牵扯到了函数响应式开发去了... 我对函数式一知半解, 响应式更是第一次听到... 唉...不过日子还是得过...混着过先呗 我目前所理解的很浅, 大致上是这样的概念. 1.某些场景下它比promise好用, 它善于过滤掉不关心的东西. 2.它是观察者模式 + 迭代器模式组成的 3.跟时间,事件, 变量有密切关系 4.世界上有一种东西叫 "流" stream, 一个流能表示了一段时间里,一样东西发生的变化. 比如有一个值, 它在某段时