javascript - Chamadas de função sem tipo podem não aceitar argumentos de tipo - Chamadas HTTP do Angular 5
Estou tentando buscar dados da API usando interface. Abaixo está minha interface temporária
export interface ITemp {
id: number,
name: string,
age: number
}
E abaixo está o meu serviço HTTP, onde há uma função getHomedetails, que chama uma API.
import {Injectable} from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { ITemp } from "../interfaces/temp";
import { Observable } from "rxjs/Observable";
import 'rxjs/Rx';
@Injectable()
export class HttpService{
http:any;
baseUrl: String;
constructor(http:HttpClient){
this.http = http;
this.baseUrl = 'some_url';
}
getHomeDetails(): Observable<ITemp> {
return this.http.get<ITemp>(this.baseUrl); //problem is here
//when mouse is pointed on get<ITemp> it shows "Untyped function calls may not accept type arguments"
}
}
Uma interface não é definida. Eu não sei o que estou fazendo de errado. E a sintaxe acima é uma sintaxe do Angular 4.3X. Os editores que eu usei são Sublime e Visual Studio.
Resposta #1
Isso acontece porque você está dando à sua http de nível de classe um tipo any:
Altere http:any; para http:HttpClient
Uma boa regra é não usar any a menos que você realmente, realmente precise.