Показать сообщение отдельно
  #1 (permalink)  
Старый 12.12.2017, 12:47
Кандидат Javascript-наук
Отправить личное сообщение для zlodiak Посмотреть профиль Найти все сообщения от zlodiak
 
Регистрация: 24.02.2012
Сообщений: 104

Как отправить запрос с использованием оператора interval?
Помогите пожалуйста из angular5 отправлять запрос с периодом 5 сек, использую библиотеку rxjs. знаю, что с точки зрения возможных нагрузок на сервер, это не лучший способ, но сейчас мне интересен именно он.

Вот мой сервис:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
// import { interval } from 'rxjs/observable/interval';
import 'rxjs/add/observable/interval';

@Injectable()
export class TasksService {
  constructor(private http: HttpClient) { };
  getUserTasks(userId): Observable<any> {
  	return this.http.interval(5000).get('http://127.0.0.1:8000/app_tasks/user_tasks?user_id=' + userId);
  };
}


Вот мой компонент, в котором происходит подписка:
ngOnInit() {
  let userId = 1;
  this.getUserTasks(userId);
}

private getUserTasks(userId): void {  
  this.tasksService.getUserTasks(userId).subscribe(
    data => {   
      this.userTasks = JSON.parse(data);                 
      console.log('userTasks', this.userTasks);
    }
  )
};


Но bash выводит такое сообщение об ошибке:
ERROR in src/app/services/tasks.service.ts(16,21): error TS2339: Property 'interval' does not exist on type 'HttpClient'
Ответить с цитированием