发出单个值

pix*_*its 25 javascript rxjs angular

我想发出一个值.

根据这篇文章,以下内容应该是有效的:

var requestStream = Rx.Observable.just('https://api.github.com/users');
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.just没有定义.

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

Mar*_*yer 42

很多东西都隐藏在: 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() {
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 现在它只是一个全局函数`of("value")` (5认同)

use*_*222 27

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

.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() {
  }
}
Run Code Online (Sandbox Code Playgroud)


Fin*_*sse 6

使用of函数:

import {of} from 'rxjs';

var requestStream = of('https://api.github.com/users');
Run Code Online (Sandbox Code Playgroud)