2016-01-20 63 views
18

我想發出一個值。rxjs你如何發出單個值

根據這一post,下面應該是有效的:

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

但是,這是行不通的。 just未定義。

它已被棄用?有什麼我可以用嗎?

回答

33

很多東西都藏在: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() { 
    } 
} 
+0

優秀的,謝謝! – pixelbits

25

.just(value)是RxJS V4而angular2使用V5。它經歷了大量重寫,並且仍處於測試階段,因此操作員在第5版中缺少/更改了名稱。正如MarkM所說,

.of就好了。我只想補充說,如果只有一個值或一組值,則可以使用.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() { 
    } 
} 
+0

對於'from'對象數組拋出錯誤: 找不到不同的支持對象'[object Object]' 和'of'工作正常 –