fromPromise가 Observable 유형에 존재하지 않습니다.
rxjs를 사용하는 Angular 2에서 Promise를 Observable로 변환하려고했습니다. 온라인 가이드의 많은 켰을 때, 나는 사용 fromPromise
에 Observable
. 오류가 발생합니다.
Property 'fromPromise' does not exist on type 'typeof Observable'.
Observable은 다음과 같이 가져 왔습니다.
import { Observable } from "rxjs/Observable";
fromPromise
다른 연산자처럼 가져 오려고 하면 오류가 발생합니다.
import 'rxjs/add/operator/fromPromise';
typescript 오류를 억제하더라도 여전히 오류가 발생합니다.
(<any>Observable).fromPromise
오류:
Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__.Observable.fromPromise is not a function
여기 rxjs repo 에서 비슷한 문제가보고 되었지만 거기에도 해결책이 없습니다.
최신 정보:
현재 rxjs
6.0.0-beta.3, 사업자 및 관찰 제작자가에서 수입해야한다 rxjs
. 또한 fromPromise
더 이상 공용 API의 일부가 아니며 from
메서드에 래핑됩니다 .
TL; DR;
최신 정보
rxjs 6.0.0의 경우 다음을 사용하십시오.
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
최신 정보:
의 출시 후 pipeable 사업자 의 rxjs
5.5.x, 원숭이 패치 방법은 권장하지 않습니다. 정적 메소드 옵션 사용을 고려하십시오.
원래 답변
현재 rxjs
5.4.x, fromPromise
정적 방법으로 사용될 수 있거나으로 패치 할 수 Observable
프로토.
먼저 다음을 수행 할 수 있습니다.
import { fromPromise } from 'rxjs/observable/fromPromise';
var observableFromPromise = fromPromise(promiseSrc);
이 접근 방식에 대한 자세한 정보는 여기
두 번째 작업을 수행하려면 import 문을 변경해야합니다.
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
var observableFromPromise = Observable.fromPromise(promiseSrc);
이 접근 방식에 대한 자세한 정보는 여기
개인적으로 두 번째 접근 방식은 기본적으로 첫 번째 접근 방식이고 Observable
프로토 타입이 변경 된다는 점을 고려하여 첫 번째 접근 방식을 추천합니다 .
Jota가 '보낸 사람'이 대답 한 것처럼 말입니다.
여기에서 참조를 찾을 수 있습니다
https://www.learnrxjs.io/operators/creation/from.html
그러나 'Promise to Observable'을 지정하려면 아래와 같이 'fromPromise'를 사용할 수 있습니다.
import { from as fromPromise, Observable} from 'rxjs';
...
private getObservable(): Observable<any> {
return fromPromise(this.promise);
}
private getPromise() {
this.promise = new Promise((resolve, reject) => {
this.service.getPromise()
.then(response => {
// do sth
resolve(response);
});
});
}
참고 URL : https://stackoverflow.com/questions/45784825/frompromise-does-not-exist-on-type-observable
'IT TIP' 카테고리의 다른 글
PHP에서 HTTP에서 HTTPS로 전환 할 때 세션 손실 (0) | 2020.11.27 |
---|---|
CSS에서 정렬되지 않은 목록을 쉼표로 구분 된 텍스트로 스타일링하는 방법 (0) | 2020.11.27 |
Xcode 누락 지원 파일 iOS 12.2 (16E227) (0) | 2020.11.26 |
다중 모듈 메이븐 리액터 프로젝트의 루트 디렉토리 찾기 (0) | 2020.11.26 |
복사 할당 연산자가 참조 / 상수 참조를 반환해야하는 이유는 무엇입니까? (0) | 2020.11.26 |