Yanıtlar:
Aslında ithalatı berbat ettim. RxJS'nin son sürümünde şu şekilde içe aktarabiliriz:
import 'rxjs/add/observable/of';
operator/
- rxjs/add/operator/of
- yerine içe aktardığımı fark ettim observable/
. D'oh.
Angular 6 / rxjs 6 kullanırken kimse bu sorunu yaşıyorsa, aşağıdaki yanıtlara bakın: RxJs 6 ve Angular 6'da Observable.of kullanılamadı
Kısacası, şu şekilde içe aktarmanız gerekir:
import { of } from 'rxjs';
Ve sonra aramak yerine
Observable.of(res);
sadece kullan
of(res);
Her ne kadar kesinlikle garip gelse de, benimle ithalat yolundaki 'O' harfinden yararlanmak önemliydi import {Observable} from 'rxjs/Observable
. observable_1.Observable.of is not a function
Ben Gözlemlenebilir gelen alırsanız hata iletisi var kalır rxjs/observable
. Garip ama umarım başkalarına yardımcı olur.
Açısal 6/7 kullanıyorsanız
import { of } from 'rxjs';
Ve sonra aramak yerine
Observable.of(res);
sadece kullan
of(res);
Aptalca hatam, /add
gözlemlenebilir olanı gerektirdiğinde eklemeyi unuttum .
was:
import { Observable } from 'rxjs/Observable';
import 'rxjs/observable/of';
rxjs/observable/of
Aslında görsel olarak Tamam görünüyor çünkü dosya var.
Olmalı:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
Yama ne olursa olsun benim için çalışmadı, bu yüzden bu yönteme başvurmak zorunda kaldım:
import { of } from 'rxjs/observable/of'
// ...
return of(res)
Sadece eklemek için,
bunların çoğunu kullanıyorsanız,
import 'rxjs/Rx';
@Trierry Templier tarafından belirtildiği gibi. Ama sanırım sınırlı operatör kullanıyorsanız
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/of';
@uksz tarafından belirtildiği gibi.
Çünkü 'rxjs / Rx', kesinlikle performansa mal olan tüm Rx bileşenlerini içe aktaracaktır.
Ayrıca tüm operatörleri şu şekilde içe aktarabilirsiniz:
import {Observable} from 'rxjs/Rx';
import { Observable } from 'rxjs/Observable' import 'rxjs/add/observable/of';
çalışmıyor. Sadece import {Observable} from 'rxjs/Rx';
çalışıyor. Sürüm 5.4.2
Observable_1.Observable.of(...).delay(...).timeout is not a function
. Ben kullanmadımimport 'rxjs/add/operator/timeout'
Açısal 5.2 ve RxJS 5.5.6 kullanıyorum
Bu kod vermedi değil çalışır:
import { Observable,of } from 'rxjs/Observable';
getHeroes(): Observable<Hero[]> {
return of(Hero[]) HEROES;
}
Aşağıdaki kod çalıştı:
import { Observable } from 'rxjs/Observable';
import { Subscriber } from 'rxjs/Subscriber';
getHeroes(): Observable<Hero[]>
{
return Observable.create((observer: Subscriber<any>) => {
observer.next(HEROES);
observer.complete();
});
}
Arama yöntemi:
this.heroService.getHeroes()
.subscribe(heroes => this.heroes = heroes);
Bence onlar RxJS 5.5.2 () işlevselliği taşınmış / değiştirilmiş olabilir
Bu düzgün çalışmalıdır sadece deneyin.
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
// "rxjs": "^5.5.10"
import { of } from 'rxjs/observable/of';
....
return of(res)
Angular 5 / Rxjs 5'ten Angular 6 / Rxjs 6'ya mı yükseltildi?
İçe aktarma işleminizi ve örneklemenizi değiştirmelisiniz. Damien'ın blog gönderisine göz at
Tl; dr:
import { Observable, fromEvent, of } from 'rxjs';
const yourResult = Observable
.create(of(yourObservable))
.startWith(null)
.map(x => x.someStringProperty.toLowerCase());
//subscribe to keyup event on input element
Observable
.create(fromEvent(yourInputElement, 'keyup'))
.debounceTime(5000)
.distinctUntilChanged()
.subscribe((event) => {
yourEventHandler(event);
});
Bugün bu problemim vardı. Bağımlılıkları yüklemek için systemjs kullanıyorum.
Ben böyle Rxjs yüklüyordu:
...
paths: {
"rxjs/*": "node_modules/rxjs/bundles/Rx.umd.min.js"
},
...
Kullanım yolları yerine şunu kullanın:
var map = {
...
'rxjs': 'node_modules/rxjs',
...
}
var packages = {
...
'rxjs': { main: 'bundles/Rx.umd.min.js', defaultExtension: 'js' }
...
}
Systemjs'in kütüphaneyi yükleme biçimindeki bu küçük değişiklik sorunumu düzeltti.
In rxjs
v6, of
operatör olarak ithal edilmelidirimport { of } from 'rxjs';
Bir şekilde Webstorm bile böyle yaptı import {of} from 'rxjs/observable/of';
ve her şey çalışmaya başladı
import { of } from 'rxjs'; return of(res);
rxjs6 kullanıyorsanız en son dokümanlara göz atın github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#import-paths & github.com/ReactiveX/rxjs/blob/master/…