2016-01-20 12 views
18

Tôi muốn phát ra một giá trị duy nhất.rxjs cách bạn phát ra một giá trị đơn lẻ

Theo post này, sau đây nên có giá trị:

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

Tuy nhiên, điều này không làm việc. just không được xác định.

Nó đã không được chấp nhận? Có cái gì mà tôi có thể sử dụng thay thế?

Trả lời

33

Rất nhiều thứ được giấu trong: import 'rxjs/Rx'; Bạn có thể thử Observable.of cho một giá trị duy nhất.

này làm việc cho tôi (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

tuyệt vời, cảm ơn! – pixelbits

25

.just(value) là từ RxJS v4 khi angular2 đang sử dụng v5. Nó đã trải qua một quá trình viết lại rộng rãi và nó vẫn đang trong giai đoạn thử nghiệm nên các toán tử bị thiếu/thay đổi tên trong v5.

.of là tốt, như MarkM đã đề cập. Tôi chỉ muốn thêm rằng bạn cũng có thể sử dụng .from hoạt động nếu bạn chỉ có một giá trị hoặc một mảng giá trị. Để sử dụng lại ví dụ từ câu trả lời được chấp nhận của bạn, bạn sẽ sử dụng một cái gì đó như (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

cho mảng các đối tượng 'từ' là lỗi ném: Không thể tìm thấy một đối tượng hỗ trợ khác nhau '[đối tượng]' và 'của' hoạt động tốt –

Các vấn đề liên quan