programing

fromPromPromise가 관찰 가능 유형에 없습니다.

magicmemo 2023. 7. 30. 17:34
반응형

fromPromPromise가 관찰 가능 유형에 없습니다.

rxjs를 사용하는 Angular 2에서 약속을 관찰 가능으로 변환하려고 했습니다.많은 온라인 가이드가 보여주었듯이 나는 사용했습니다.fromPromiseObservable오류가 발생합니다.

Property 'fromPromise' does not exist on type 'typeof Observable'.

관찰 가능 항목은 다음과 같이 가져왔습니다.

import { Observable } from "rxjs/Observable";

가져오려고 합니다.fromPromise다른 연산자와 마찬가지로 오류가 발생합니다.

import 'rxjs/add/operator/fromPromise';

텍스트 오류를 억제하더라도 오류가 발생합니다.

(<any>Observable).fromPromise

오류:

Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__.Observable.fromPromise is not a function

여기서 rxjs repo에 다소 유사한 문제가 보고되었지만 해결책도 없습니다.

업데이트:

현재rxjs6.0.0-1987.3, 연산자 및 관찰 가능한 작성자는rxjs.더 나아가,fromPromise더 이상 공용 API의 일부가 아니며 그것은 포장되어 있습니다.from방법.

TL;DR;

갱신하다

rxjs 6.0.0의 경우 다음을 사용합니다.

import { from } from 'rxjs';

var observableFromPromise =  from(promiseSrc);

업데이트:

파이프 가능한 연산자가 해제된 후rxjs5.5.x, 원숭이 패치 접근 방식은 강력하게 권장되지 않습니다.정적 방법 옵션을 사용해 보십시오.

원답

현재rxjs5.4.x,fromPromise정적 방법으로 사용하거나 패치를 적용할 수 있습니다.Observable원형의

먼저 다음 작업을 수행할 수 있습니다.

import { fromPromise } from 'rxjs/observable/fromPromise';

var observableFromPromise = fromPromise(promiseSrc);

접근 방식에 대한 자세한 내용은 여기를 참조하십시오.

두 번째 작업을 수행하려면 가져오기 문을 변경해야 합니다.

import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';

var observableFromPromise = Observable.fromPromise(promiseSrc);

접근 방식에 대한 자세한 내용은 여기를 참조하십시오.

개인적으로 저는 두 번째 접근법이 기본적으로 첫 번째라는 점을 고려하여 첫 번째 접근법을 추천하고 싶습니다.Observable프로토타입이 변경되었습니다.

조타가 말한 'from'이 답인 것처럼.

당신은 여기에서 참조를 찾을 수 있습니다.

https://www.learnrxjs.io/operators/creation/from.html

그러나 '관찰 가능한 약속'을 지정하려면 아래와 같이 '약속에서'를 사용할 수 있습니다.

  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

반응형