发出单个值

Emit a single value

我想发出一个值。

根据这个post,以下应该是有效的:

var requestStream = Rx.Observable.just('https://api.github.com/users');

但是,这不起作用。 just 未定义。

是否已弃用?有什么东西可以代替吗?

很多东西都隐藏在:import 'rxjs/Rx'; 您可以尝试 Observable.of 获取单个值。

这对我有用 (plunker):

import {Component} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';

@Component({
  selector: 'my-app',
  providers: [],
  template: `
    <div>
      <h2>Hello {{test | async}}</h2>     
    </div>
  `,
  directives: []
})
export class App {
    test: Observable<any> = Observable.of("I'm an observable");
    constructor() {
  }
}

.just(value) 来自 RxJS v4,而 angular2 使用的是 v5。它经过了广泛的重写,并且仍处于测试阶段,因此运算符在 v5 中是 missing/changed 名称。

.of 就好了,正如 MarkM 提到的那样。我只是想补充一点,如果您只有一个值或一组值,您也可以使用 .from。要重用您接受的答案中的示例,您可以使用类似 (plunkr):

//our root app component
import {Component} from 'angular2/core';
import {Observable} from 'rxjs/Observable';
import 'rxjs/Rx';

@Component({
  selector: 'my-app',
  providers: [],
  template: `
    <div>
      <h2>Hello {{test | async}}</h2>

    </div>
  `,
  directives: []
})
export class App {
    test: Observable<any> = Observable.from(["I'm an observable"]);
    constructor() {
  }
}

使用of函数:

import {of} from 'rxjs';

var requestStream = of('https://api.github.com/users');