大佬教程收集整理的这篇文章主要介绍了angular – 路由解析时RxJS forkJoin句柄错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我为Account页面创建了一个路由解析器,它应该在路由之前返回2个请求.现在这是我无法解决的部分:如果用户没有订阅,则从服务器返回404.我想处理这个问题,如果发生这种情况,用户应该被路由到另一个页面,从那里他可以订阅.
import { Injectable } from '@angular/core'; import { Resolve,ActivatedRouteSnapshot } from '@angular/router'; import { Observable } from 'rxjs/Rx'; import { AccountService } from './account.service'; @Injectable() export class AccountResolver implements Resolve<any> { constructor(private accountService: AccountService) { } resolve(route: ActivatedRouteSnapshot): Observable<any> { return Observable.forkJoin([ this.accountService.getUser(),this.accountService.getUserSubscriptions() ]); }; }
@Injectable() export class AccountResolver implements Resolve<any> { constructor(private accountService: AccountService,private router: Router) { } resolve(route: ActivatedRouteSnapshot): Observable<any> { return Observable.forkJoin([ this.accountService.getUser(),this.accountService.getUserSubscriptions() .catch(error => { if(error.status === 404) { this.router.navigate(['subscription-create']); } return Observable.throw(error); }) ]); }; }
这样,错误就会被处理,但也会以原始形状返回到resolve方法,因此解析器可以拒绝访问以前的目标路由(forkJoin中的任何失败请求都会导致forkJoin本身失败).
以上是大佬教程为你收集整理的angular – 路由解析时RxJS forkJoin句柄错误全部内容,希望文章能够帮你解决angular – 路由解析时RxJS forkJoin句柄错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。