首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用angular2的rxjs操作符

不使用angular2的rxjs操作符
EN

Stack Overflow用户
提问于 2016-12-05 12:45:26
回答 1查看 532关注 0票数 1

我在我的rxjs应用程序中注意到,rxjs操作符,如switchMapmap等,不起作用。(我的IDE也给出了一个提示。)当然,我运行了以下代码。如果我将switchMap替换为subscribe,就会在控制台中看到“返回的值”。

知道运营商为什么不工作吗?

代码语言:javascript
复制
import { Component, OnInit } from '@angular/core';
import {Observable} from "rxjs/Observable";
import 'rxjs/add/operator/switchMap';

@Component({
    selector: 'page-2',
    template: `
    <h2>{{title}}</h2>
    `,
})
export class Page2Component implements OnInit{
    title = 'Page2';

    ngOnInit() {
        let obs = new Observable(observable  => {
            observable.next('value returned');
        });
        obs.switchMap(console.log);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-05 12:49:06

为了“触发”一个可观察到的,你需要订阅它。否则,他们将保持“冷”。

订阅运算符是将观察者连接到可观察对象的胶水。为了让观察者看到可观测到的项目,或者接收来自可观测对象的错误或已完成的通知,它必须首先订阅该可观测的操作员。 如果一个可观测对象直到一个观察员订阅了它,它才开始发射可观测的项目,则称为“冷”可观测;一个可观测的被称为“热的”可观测的,如果它可以在任何时候开始发射项目,而订户可以在它开始后的某个点开始观察发出的项目的顺序,而忽略以前发出的任何项目到订阅的时间。

参考文献:http://reactivex.io/documentation/operators/subscribe.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40974596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档