I would like to emit a single value.
According to this post, the following should be valid:
var requestStream = Rx.Observable.just('https://api.github.com/users');
However, this does not work. just is not defined.
Has it been deprecated? Is there something that I can use instead?
A lot of the stuff is tucked away in: import 'rxjs/Rx'; You might try Observable.of for a single value.
This works for me (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() {
}
}
.just(value) is from RxJS v4 while angular2 is using the v5. It has gone through an extensive rewrite, and it is still in beta so operators are missing/changed names in v5.
.of is just fine, as MarkM mentioned. I just wanted to add that you can also use .from which works if you have just one value, or an array of values. To reuse the example from your accepted answer, you would use something like (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() {
}
}