Angular Router Resolve не работает, когда задача убивает и снова открывает Android Google Chrome - PullRequest
0 голосов
/ 30 мая 2019

Я использую функцию углового разрешения, чтобы получить динамические данные перед отрисовкой компонентов.Однако, когда я снова открываю Android Chrome после того, как Android Chrome был убит заданием, процесс перезагрузки страницы будет выполнен, но данные не могут быть получены.

Angular 7.2.7

My Resolver

import { Injectable } from '@angular/core';
import { Resolve, ActivatedRouteSnapshot } from '@angular/router';
import { ApiService } from './api.service';
import { Observable } from 'rxjs';

...

@Injectable({
  providedIn: 'root'
})
export class CalenderByDateResolverService implements Resolve<any> {
  constructor(private api: ApiService) {}

  resolve(route: ActivatedRouteSnapshot): Observable<any> {
    const date = route.data.date;
    return this.api.getCalenderByDate(date);
  }
}

Мое определение маршрутизации

{
    path: 'operation/real-time',
    component: RealTimeComponent,
    data: {
      title: 'Test Title',
      date: moment()
        .subtract(Number(moment().format('H')) < 4 ? 1 : 0, 'days')
        .format('YYYYMMDD')
    },
    resolve: {
      calender: CalenderByDateResolverService,
      stations: StationsResolverService
      // trips: TripsGroupByOperationsResolverService
    }
},

1 Ответ

0 голосов
/ 30 мая 2019

Я понимаю.Это работник службы поддержки.

Все сообщения GET отправляются на один и тот же внутренний URL-адрес через перехватчик.

Работник службы кэширует результат связи GET с внутренним URL-адресом.

Поэтому для связи с URL-адресом API A сервисный работник возвратил кеш, полученный из URL-адреса API B.

Это решено путем предоставления URL-адреса API на запрос Backend URL.

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