Как я могу показать больше времени спиннер? в Angular 9 - PullRequest
0 голосов
/ 08 марта 2020

Это базовый c код, который я использую https://stackblitz.com/edit/angular-router-basic-example-ajewqc для моего счетчика. Счетчик показывал, когда приложение выполняет http-запрос, но я хочу немного отобразить счетчик дольше, как я могу это сделать?

Ответы [ 3 ]

1 голос
/ 08 марта 2020

Вы можете использовать оператор delay:

constructor(private http: Http) {
    this.http.get('https://jsonplaceholder.typicode.com/users')
      .map(res => res.json())
      .delay(2000)
      .subscribe(res => this.users = res);
}

Этот оператор будет задерживать выброс предметов из наблюдаемых после получения ответа.

0 голосов
/ 08 марта 2020

(Я полагаю, что OP просто хочет смотреть спиннер немного дольше, скажем, 5 секунд)
Просто добавьте больше миллисекунд (5000) к тайм-ауту в home.component.ts:

constructor(private http: Http) {
    setTimeout(() => {
        this.http.get('https://jsonplaceholder.typicode.com/users')
            .map(res => res.json())
            .subscribe(res => this.users = res)
    }, 5000);
}
0 голосов
/ 08 марта 2020

Вероятно, не самый элегантный способ, в любом случае вы можете добавить еще один setTimeout в ответ подписки:

  constructor(private http: Http) {
    setTimeout(() => {
      this.http.get('https://jsonplaceholder.typicode.com/users')
        .map(res => res.json())
        .subscribe(res => setTimeout(() => {
          this.users = res
        }, 3000)
        )
    }, 1000);
  }

https://stackblitz.com/edit/angular-router-basic-example-ljsg5t

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