Rxjs, как вы испускаете одно значение
Я хотел бы испустить одно значение.
В соответствии с этим сообщением должно быть справедливо следующее:
var requestStream = Rx.Observable.just('https://api.github.com/users');
Однако это не работает. just
не определен.
Было ли это устаревшим? Есть ли что-то, что я могу использовать вместо этого?
Ответы
Ответ 1
Многие вещи спрятаны в: 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() {
}
}
Ответ 2
.just(value)
из RxJS v4, а angular2 использует v5. Он прошел обширную переписку и по-прежнему находится в бета-версии, поэтому операторы теряют/меняют имена в версии 5.
.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() {
}
}