Observable.of는 함수가 아닙니다
Observable.of
프로젝트에서 가져 오기 기능에 문제가 있습니다. 내 Intellij는 모든 것을 본다. 내 코드에는 다음이 있습니다.
import {Observable} from 'rxjs/Observable';
내 코드에서는 다음과 같이 사용합니다.
return Observable.of(res);
어떤 아이디어?
실제로 수입품이 엉망이되었습니다. 최신 버전의 RxJS에서는 다음과 같이 가져올 수 있습니다.
import 'rxjs/add/observable/of';
Angular 6 / rxjs 6을 사용하는 동안이 문제가 발생하면 RxJs 6 및 Angular 6에서 Observable.of를 사용할 수 없습니다 .
즉, 다음과 같이 가져와야합니다.
import { of } from 'rxjs';
그리고 전화하는 대신
Observable.of(res);
그냥 사용
of(res);
그것은 절대적으로 이상하게 들리지만 나와 함께 수입 경로에서 'O'를 대문자로 사용하는 것이 중요했습니다 import {Observable} from 'rxjs/Observable
. observable_1.Observable.of is not a function
에서 Observable을 가져 오면 오류 메시지가 표시됩니다 rxjs/observable
. 이상하지만 다른 사람들에게 도움이되기를 바랍니다.
어리석은 실수는 /add
관찰 가능할 때 추가하는 것을 잊었다는 것입니다 .
였다:
import { Observable } from 'rxjs/Observable';
import 'rxjs/observable/of';
rxjs/observable/of
실제로 파일이기 때문에 시각적으로 좋아 보이는 것은 존재합니다.
해야한다:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
Angular 6/7을 사용하는 경우
import { of } from 'rxjs';
그리고 전화하는 대신
Observable.of(res);
그냥 사용
of(res);
추가하기 만하면
많은 것을 사용하고 있다면
import 'rxjs/Rx';
@Thierry Templier가 언급했듯이. 그러나 제한된 연산자를 사용하는 경우 다음과 같은 개별 연산자를 가져와야한다고 생각합니다.
import 'rxjs/add/operator/filter';
import 'rxjs/add/operator/mergeMap';
import 'rxjs/add/observable/of';
@uksz가 언급했듯이.
'rxjs / Rx'는 성능을 확실히 요구하는 모든 Rx 구성 요소를 가져 오기 때문에.
어떤 이유로 든 패치가 작동하지 않았 으므로이 방법에 의지해야했습니다.
import { of } from 'rxjs/observable/of'
// ...
return of(res)
이 방법으로 모든 연산자를 가져올 수도 있습니다.
import {Observable} from 'rxjs/Rx';
이것은 제대로 작동해야합니다.
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에서 Angular 6 / Rxjs 6으로 업그레이드 되었습니까?
You must change your imports and your instantiation. Check out Damien's blog post
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);
});
I am using Angular 5.2 and RxJS 5.5.6
This code did not work:
import { Observable,of } from 'rxjs/Observable';
getHeroes(): Observable<Hero[]> {
return of(Hero[]) HEROES;
}
Below code worked:
import { Observable } from 'rxjs/Observable';
import { Subscriber } from 'rxjs/Subscriber';
getHeroes(): Observable<Hero[]>
{
return Observable.create((observer: Subscriber<any>) => {
observer.next(HEROES);
observer.complete();
});
}
Calling method:
this.heroService.getHeroes()
.subscribe(heroes => this.heroes = heroes);
I think they might moved/changed of() functionality in RxJS 5.5.2
I had this problem today. I'm using systemjs to load the dependencies.
I was loading the Rxjs like this:
...
paths: {
"rxjs/*": "node_modules/rxjs/bundles/Rx.umd.min.js"
},
...
Instead of use paths use this:
var map = {
...
'rxjs': 'node_modules/rxjs',
...
}
var packages = {
...
'rxjs': { main: 'bundles/Rx.umd.min.js', defaultExtension: 'js' }
...
}
This little change in the way systemjs loads the library fixed my problem.
For Angular 5+ :
import { Observable } from 'rxjs/Observable';
should work. The observer package should match the import as well import { Observer } from 'rxjs/Observer';
if you're using observers that is
import {<something>} from 'rxjs';
does a huge import so it's better to avoid it.
RxJS 6
When upgrading to version 6 of the RxJS
library and not using the rxjs-compat
package the following code
import 'rxjs/add/observable/of';
// ...
return Observable.of(res);
has to be changed into
import { of } from 'rxjs';
// ...
return of(res);
나를 위해 (Angular 5 & RxJS 5) 자동 완성 가져 오기 제안 :
import { Observable } from '../../../../../node_modules/rxjs/Observable';
(정적 연산자 from
를 사용 of
하면 정상적으로 작동합니다.
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/of';
rxjs-compat의 요구 사항을 보여줍니다.
require("rxjs-compat/add/observable/of");
나는 이것을 설치하지 않았다. 에 의해 설치
npm install rxjs-compat --save-dev
다시 실행하면 문제가 해결되었습니다.
에서는 rxjs
V6, of
오퍼레이터로 가져와야import { of } from 'rxjs';
어떻게 든 Webstorm조차도 이렇게 만들었고 import {of} from 'rxjs/observable/of';
모든 것이 작동하기 시작했습니다.
참고 URL : https://stackoverflow.com/questions/36568388/observable-of-is-not-a-function
'IT story' 카테고리의 다른 글
Swift에서 UIImageView 객체에 액션을 할당하는 방법 (0) | 2020.05.27 |
---|---|
프로세스 ID (PID)가 있는지 확인하는 방법 (0) | 2020.05.27 |
Django 템플릿에서 사전 요소에 액세스하는 방법은 무엇입니까? (0) | 2020.05.27 |
PHP 7에서 ext-curl 확장을 어떻게 설치합니까? (0) | 2020.05.27 |
왜 String.Format을 사용합니까? (0) | 2020.05.27 |