Создан совместный с кодом проект с NativeScript / Angular.При использовании HttpClient
для доступа к API хакерских новостей веб-проект работает нормально, тогда как на устройстве Android и iOS возникает ошибка статуса 0.
Служба
export class NewsService {
private hnUrl = "https://hacker-news.firebaseio.com";
constructor(private http: HttpClient) { }
private createRequestHeader()
{
let headers = new HttpHeaders({
"Content-Type": "application/json"
});
return headers;
}
getNewStories()
{
return this.http.get(`${this.hnUrl}/v0/newstories.json?print=pretty&limitToFirst=20&orderBy="$key"`);
}
getNewsById(id: number)
{
return this.http.get(`${this.hnUrl}/v0/item/${id}.json`, {
headers: this.createRequestHeader()
});
}
}
Компонент
export class HomeComponent implements OnInit {
title = 'hacker-news-clone';
items: News[] = [];
constructor(private _newsService: NewsService) { }
ngOnInit() {
this._newsService.getNewStories().subscribe((r: number[]) => {
from(r).pipe(
mergeMap(id => this._newsService.getNewsById(id))
)
.subscribe((news: News) => { this.items.push(news); })
}, (e) => {
console.log(e);
});
}
}
ng версия: 8.0.3
tns - версия: 6.1.2