this.authorisationService
.authorize(data.username, data.password).pipe(takeWhile(value => this.isActive))
.subscribe((res: HttpResponse<object>) => {
this.handleLoginResponse(res);
},
(error: HttpErrorResponse) => {
this.messageService.error('Authentication failed');
},
() => {
this.messageService.info('Login has completed');
}).add(() => {
// this is the teardown function
// will be called in the end
this.messageService.info('Teardown');
});
你不必退订。
您应该知道您的逻辑中是否存在问题,这可能会导致您的订阅出现问题。照顾好他们。在大多数情况下,这不会是一个问题,但特别是在像自动化这样的关键任务中,你应该注意意外的行为,无论是“取消订阅”还是其他逻辑,如管道或条件回调函数。< / p >