发出单个值

时间:2016-01-20 07:22:23

标签: javascript angular rxjs

我想发出一个值。

根据此post,以下内容应有效:

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

然而,这不起作用。 just未定义。

它被弃用了吗?有什么东西我可以用吗?

3 个答案:

答案 0 :(得分:39)

很多内容隐藏在: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() {
  }
}

答案 1 :(得分:26)

.just(value)来自RxJS v4而angular2正在使用v5。它经过了大量的重写,并且仍处于测试阶段,因此运营商在v5中缺少/更改了名称。

正如MarkM所说,

.of很好。我只是想补充一点,你也可以使用.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() {
  }
}

答案 2 :(得分:2)

使用of函数:

import {of} from 'rxjs';

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