Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Untyped function calls may not accept type arguments - Angular 5 http calls

I'm trying to fetch data from API using interface. Bellow is my temp interface

export interface ITemp {
    id: number,
    name: string,
    age:  number
}

And below is my HTTP service, where there is a fn getHomedetails, which calls an 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"

    }

}

An interface doesn't get defined. I don't know what I'm doing wrong. And the above syntax is an angular 4.3X syntax. The editor which I've used are the sublime and visual studio.

like image 287
nishil bhave Avatar asked Jan 12 '18 14:01

nishil bhave


1 Answers

This is because you're giving your class-level http a type of any:

Change http:any; to http: HttpClient

A good rule of thumb is to not use any unless you really really have to.

like image 199
UncleDave Avatar answered Nov 15 '22 23:11

UncleDave