【发布时间】:2016-01-20 07:22:23
【问题描述】:
我想发出一个值。
根据这个post,以下应该是有效的:
var requestStream = Rx.Observable.just('https://api.github.com/users');
但是,这不起作用。 just 未定义。
它被弃用了吗?有什么可以代替的吗?
【问题讨论】:
标签: javascript angular rxjs
我想发出一个值。
根据这个post,以下应该是有效的:
var requestStream = Rx.Observable.just('https://api.github.com/users');
但是,这不起作用。 just 未定义。
它被弃用了吗?有什么可以代替的吗?
【问题讨论】:
标签: javascript angular rxjs
很多东西都隐藏在: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() {
}
}
【讨论】:
of 和import 'rxjs/add/observable/of'; 而不是import 'rxjs/Rx'
of("value")
.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() {
}
}
【讨论】:
使用of函数:
import {of} from 'rxjs';
var requestStream = of('https://api.github.com/users');
【讨论】: