ウェブサイト検索

angular - APIの値が変わったときにhttp getを更新する方法


私は時々値が変わるAPIを呼び出していて、アプリでリフレッシュせずに値の変更が反映されるようにしたいです。私はTypeScriptとAngularは初心者ですが、すぐに理解します。こちらが私が持っているものです。

サービス提供者

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

@Injectable()
export class CryptoServiceProvider {

  constructor(public http: HttpClient) {        
  }

  getCrypto() {
    return this.http.get('https://api.coinmarketcap.com/v1/ticker/');
  }

}

TypeScriptファイル

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, PopoverController } from 'ionic-angular';
import {CurrpopPage} from "../currpop/currpop";
import { Storage } from '@ionic/storage';
import { ViewChild } from '@angular/core';
import { Slides } from 'ionic-angular';
import {HttpClient} from "@angular/common/http";
import { Observable } from 'rxjs/Observable';
import { CryptoServiceProvider } from '../../providers/crypto-service/crypto-service'

@IonicPage()
@Component({
  selector: 'page-favorites',
  templateUrl: 'favorites.html',
})
export class FavoritesPage {
  @ViewChild(Slides) slides: Slides;
  currSymbol:string;
  data:any;
  myfavcurrency: Array<any> = [];
  posts: Observable<any>;

  constructor(public navCtrl: NavController,
          public navParams: NavParams,
          public popoverCtrl: PopoverController,
          public http: HttpClient,
          private storage: Storage,
          public apiProvider: CryptoServiceProvider) {

      this.currSymbol = '$';

      this.storage.get('fav').then((val) => {
          this.myfavcurrency = val;          
      });

      //I need update posts as api value changes
      this.posts = this.apiProvider.getCrypto();
  }

  ionViewDidLoad() {    
    this.currSymbol = '$';
  }

  task(){
    this.navCtrl.push('TaskPage');
  }

  slideToPrev(){
    this.slides.slidePrev();
  }
  slideToNext(){
    this.slides.slideNext();
  }
}

API 呼び出しからの値を更新/リフレッシュする手段が必要です。何か提案はありますか?