Pesquisa de site

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.

Artigos relacionados