Показать сообщение отдельно
  #4 (permalink)  
Старый 26.12.2019, 13:31
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,206

Vadya,
Ваш код не работает, потому что такие хуки как ngOnInit они как бы для компонентов. Снаружи никто метод этого класса не вызывает судя по коду.

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

export class User {
      login: string;
      ban: number;
}

@Injectable()
export class UserService {

    constructor(private http: HttpClient) {}

    user: User

    getUser() {
        if (this.user) {
            return of(this.user);
        }
        return this.http.get('/server/api/userService').pipe(
            tap((data: User) => this.user = data)
        );
    }
}
Ответить с цитированием