概要
Angularにはリクエストのクエリパラメータを取得する方法として、
@Component({...}) export class MyComponent implements OnInit { constructor(private activatedRoute: ActivatedRoute) {} ngOnInit() { this.activatedRoute.params.subscribe((params: Params) => { let userId = params['userId']; console.log(userId); }); } }
というようにActivatedRoute
があるのですが、今回はその中でAPI側コールし、もしかしたらエラーが発生する可能性もあるのでfinallyで後処理を必ずさせたい、という状況でした。
そこで
this.activatedRoute.params .finally(() => { // 後処理 }) .subscribe((params: Params) => { let userId = params['userId']; // エラーが起きるかもしれないAPIコール });
としてみたところ、finallyの処理が実行されませんでした。何故でしょうか?
続きを読む