import {map} from 'rxjs/operators';
import {Observable} from 'rxjs';
import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse} from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class CountriesService {
constructor(private httpclient: HttpClient) {}
public getContries(): Observable<any> {
return this.httpclient.get<any>('https://restcountries.eu/rest/v2/all');
}
}
1 и 2 - ошибки tslint. Я полагаю, что первый - это пробел после конструктора, а второй - использование одинарных, а не двойных кавычек. У вас были двойные кавычки вокруг вашего URL. TSlint используется для обеспечения согласованного стиля кодирования в рамках всего проекта и среди участников. Вы можете изменить значения по умолчанию, отредактировав tslint.json
3 - вызов .json()
. Поскольку angular 4 HttpClient
заменил модуль Http
и внутренне вызывает .json()
, так что этого больше не существует в ответе на вызов .get()
.
4 Вам следует установить Значение generi c для типа возвращаемого значения.
Лучше было бы использовать подходящую IDE, которая будет давать вам достойные предупреждения во время записи, и немного больше исследований об этих ошибках подтолкнет вас в правильном направлении, и с его помощью настройте линтер как более симпатичный, чтобы ваш код форматировался в соответствии с правилами при сохранении.