триггер может активироваться каждые 10 минут

#javascript #angular #typescript #angular-routing #angular-router-guards

#язык JavaScript #угловой #машинописный текст #угловая маршрутизация #угловой маршрутизатор-ограждения

Вопрос:

В настоящее время я использую службу canActivate-service для моего углового родительского маршрута и, следовательно, для всех дочерних маршрутов. выглядит так, например

 const routes: Routes = [ { path: '', canActivate: [ServiceWhichShouldRunEvery10Minutes], runGuardsAndResolvers: 'always', children: [  {  path: routeA,  component: a,  },  {  path: routeB,  pathMatch: 'full',  component: b,  },...  

canActivate-метод

 async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promiselt;boolean | UrlTreegt; { // condition that i want to check every 10 minutes }  

Как я могу гарантировать, что эта служба canActivate будет запускаться каждые 10 минут? Заранее спасибо, любая помощь будет признательна

Комментарии:

1. Я предполагаю, что это невозможно, canActivate потому что это срабатывает только при навигации, и я не знаю возможности запустить его вручную. Почему это должно быть внутри canActivate ? Может быть, вместо этого поместите его в компонент приложения?

2. Да, такое поведение не относится к задачам маршрутизации. Используйте службу, например, с интервалом, чтобы выполнять то, что вам нужно делать каждые 10 минут. или, если вам нужен только один компонент, сделайте это там. На будущее, хотя при необходимости в другом месте услуга является хорошим выбором 🙂