Мне не очень нравится rxjs
, но я пытаюсь научиться! У меня есть (потенциально) два HTTP-вызова, которые я должен сделать при регистрации пользователя, если какой-либо из них не сработает, я хочу предупредить пользователя. Если создать пользователя не удается, я не хочу, чтобы он выполнял следующий HTTP-вызов.
Я думал, что это будет работать так:
public onSubmit(): void {
this.loading = true;
var user = {
userName: this.f.email.value,
email: this.f.email.value,
};
var observables = [
this.userService.create(user, `${location.origin}/add-password`),
];
var brandName = this.f.brand.value;
var brand = this.brands.find((brand) => brand.name === brandName);
if (brand) {
observables.push(this.brandService.create(brand));
}
zip(observables).subscribe(
() => {
this.loading = false;
},
(response: any) => this.handleValidationError(response, this.snackBar)
);
}
Но когда я отправляю свое приложение, подписка никогда не разрешается. Я уверен, что то, что я делаю неправильно, очень просто исправить, может ли кто-нибудь мне помочь?