У меня есть метод в моем сервисе, как показано ниже. Там я управляю next и error . Однако, так как я хочу избавить своих пользователей от фактических сообщений об ошибках, я только хочу показать результат операции. Вот почему я решил выдать логическое значение, отображающее успех в истинное и неудачное в ложное.
logIn(userName: string, password: string): Observable<boolean> {
const headers = new HttpHeaders({ userName: userName, password: password });
return new Observable(_ => {
this.client.post(environment.API + "Admin/LogIn", null, { headers: headers })
.subscribe(
next => _.next(true),
error => _.next(false));
});
}
Затем я понял, что единственный возможный результат в потребляющем компоненте - это успех, поскольку любой результат в базовом сервисе сопоставляется с следующим . Я также знаю, что получу одно значение (что делает использование наблюдаемых немного излишним). Итак, я реализовал следующий потребитель.
this.service.logIn(this.userName, this.password)
.subscribe(
next => { ... }
);
Это мудрый подход в данном конкретном случае, или я упускаю что-то довольно критическое, не осознавая этого? (Мне кажется, это здорово, но иногда гениальный ход может оказаться просто ударом ...)