发出单个值

新手上路,请多包涵

我想发出一个值。

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

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

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

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

原文由 pixelbits 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 206
2 个回答

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

原文由 Mark 发布,翻译遵循 CC BY-SA 3.0 许可协议

.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() {
  }
}

原文由 user3743222 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题