Я пытался следовать этому примеру stackblitz и документациям Observable , но мне это не помогло.Честно говоря, я новичок в RxJS и не совсем знаю, как заставить его работать с http и подписываться.Играя эту проблему так долго, мой мозг кашляет.По сути, я хочу subscribe
проверять новые данные каждый интервал.Может быть, есть лучший способ, чем rxjs?
import { Component, OnDestroy, OnInit } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Weather } from './interface';
import { Observable } from 'rxjs/Observable';
import { interval } from 'rxjs';
import { take } from 'rxjs/operators';
import { Subject } from 'rxjs';
@Component({
selector: 'app-weather',
templateUrl: './weather.component.html',
styleUrls: ['./weather.component.css']
})
export class WeatherComponent implements OnInit {
weathers: any;
response: any;
// t = Observable.interval(1000).take(5);
// numbers = interval(1000);
// takeFourNumbers = interval(50000).pipe(take(2));
private serviceUrl = 'https://api.weather.gov/gridpoints/OKX/36,38/forecast';
n = 10000;
constructor(private http: HttpClient) {}
ngOnInit() {
this.response = this.http.get<Weather>(this.serviceUrl );
this.response.subscribe(
results => {
this.weathers = results.properties.periods.slice(0, 2);
// this.numbers.subscribe(x => console.log('Next: ', x));
});
}
}