Angular 6 - периодически вытягивать данные из БД - PullRequest
0 голосов
/ 27 сентября 2018

как постоянно нажимать на БД, чтобы получать обновленные значения в БД в приложении Angular 6.если нужно использовать таймер rxjs, как эффективно использовать его для удовлетворения моих требований.

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Вы можете использовать интервал в angular6, используя rxjs.

import { interval } from 'rxjs';

и использовать метод -

interval(5000)
.switchMap(() => this.youApiService.anyMethod())
.subscribe(res => console.log(res));
0 голосов
/ 25 июня 2019

Вот простой периодический вызов внутреннего API, просто вызовите метод makePeriodicReq один раз (например, в ngOnInit):

import { Subscription, timer } from 'rxjs';
import { switchMap } from 'rxjs/operators';

subscription: Subscription;

makePeriodicReq() {
    this.subscription = timer(0, 10000).pipe(
      switchMap(() => this.myService.getFromApi())
    )
      .subscribe(resp => {
        console.debug('resp', resp);
      });
  }

ngOnDestroy() {
    this.subscription.unsubscribe();
}

Обратите внимание, что метод getFromApi возвращает наблюдаемое.

0 голосов
/ 27 сентября 2018

Ниже описано, как вы можете опросить с интервалом в 2 секунды:

 Observable.interval(2000).startWith
          (this.getCompanyDetails(name))
            .subscribe(res => { 
               // do whatever you want here with the response
   });

getCompanyDetails выполняет http-вызов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...