programing

오류 TS4053: 내보낸 클래스에서 반환된 공용 메서드 유형에 '관찰 가능' 이름이 있거나 사용 중입니다.

showcode 2023. 6. 19. 21:49
반응형

오류 TS4053: 내보낸 클래스에서 반환된 공용 메서드 유형에 '관찰 가능' 이름이 있거나 사용 중입니다.

저는 이온 2 & 각도 2로 앱을 구축하려고 하는데, 앱을 실행하려고 시도하는 동안 이 오류가 발생합니다. 저는 확인해야 할 다른 프로젝트를 구축하고 동일한 문제에 대해 정말 혼란스럽습니다.

error in photo

이것은 나의 서비스 코드입니다.

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { Storage} from '@ionic/storage';
import {NavController} from "ionic-angular";


/*
  Generated class for the MyService provider.

  See https://angular.io/docs/ts/latest/guide/dependency-injection.html
  for more info on providers and Angular 2 DI.
*/
@Injectable()
export class MyService {
  public local :Storage;
  public getsession : any;
  constructor(private http: Http, private navCtrl : NavController) {
    this.local = new Storage();
    console.log("my-service page")
  }

  postLogin(data){
    let link = "http://adirzoari.16mb.com/login.php";
    return this.http.post(link,data)
        .map(res => res.json())
  }

  checkToken(){
    return this.getsession =this.local.get('token');
  }

}

저는 이것이 동일한 문제에 직면한 다른 SO 사용자들에게 도움이 될 수 있도록 답변으로만 추가합니다.

@sudheer-kb가 언급한 것처럼, 이 문제를 해결하려면 다음을 명시적으로 가져와야 합니다.Observable클래스:

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
// ...
import { Observable } from "rxjs/Observable"; // <- add this import

그런 다음 메소드에 명시적인 반환 유형을 지정합니다(또한 @ruffin의 의견에 감사드립니다).

postLogin(data): Observable<any> {
    // ...
}

저도 비슷한 문제가 있었는데, 반품 방식의 문제와 관련이 있는 것 같습니다.제게 효과가 있었던 것은 메소드 선언 직후에 다음과 같이 ": any"를 간단히 추가하는 것입니다.

get(url) : any {
  //code
}

저는 그것이 좋은 습관이라고 생각하지 않지만, 가끔은 좋은 치료법이 될 수 있습니다.

언급URL : https://stackoverflow.com/questions/39870881/error-ts4053-return-type-of-public-method-from-exported-class-has-or-is-using-n

반응형