Size: a a a

Angular - русскоговорящее сообщество

2020 January 03

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Galeups
Всем привет. Не пойму, где лучше обрабатывать ошибки http. К примеру в сервисе, но тогда ответ может вернутся двух типов, обычный и ошибка, как в таком случае сделать приведение типов? Если обрабатывать в подписке, получается очень много дублирования. Больше конечно интересует, как сделать приведение типов, если метод может вернуть два типа?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
ужс какой
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Smooth Operator
ужс какой
?
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Наоборот элегантно ) FP во всей его мать красе
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
возвращать ошибку как данные
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
я думал мы уже прошли этот этап с пробрасыванием ошибок через все приложение
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
А что, показывать блок loading failed уже не модно?
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
как это свзяно я не понял
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Smooth Operator
как это свзяно я не понял
Ну тогда я не понял мысль о пробпасывании ошибки)
источник

G

Galeups in Angular - русскоговорящее сообщество
🧤 Andrei Kapytau
А что, показывать блок loading failed уже не модно?
Я именно про это
источник

L

Let me take you into the light in Angular - русскоговорящее сообщество
Smooth Operator
ужс какой
Каеф)
export class User {
 readonly email: string;

 readonly firstName: string;

 readonly lastName: string;

 private constructor(props: UserConstructorArgs) {
   this.email = props.email;
   this.firstName = props.firstName;
   this.lastName = props.lastName;
 }

 static build({
   email,
   firstName,
   lastName,
 }: {
   email: string;
   firstName: string;
   lastName: string;
 }): Either<Failure<UserError.InvalidCreationArguments>, User> {
   if ([email, firstName, lastName].some(field => field.length === 0)) {
     return left(invalidCreationArgumentsError());
   }
   return right(new User({ email, firstName, lastName }));
 }
}
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
Let me take you into the light
Каеф)
export class User {
 readonly email: string;

 readonly firstName: string;

 readonly lastName: string;

 private constructor(props: UserConstructorArgs) {
   this.email = props.email;
   this.firstName = props.firstName;
   this.lastName = props.lastName;
 }

 static build({
   email,
   firstName,
   lastName,
 }: {
   email: string;
   firstName: string;
   lastName: string;
 }): Either<Failure<UserError.InvalidCreationArguments>, User> {
   if ([email, firstName, lastName].some(field => field.length === 0)) {
     return left(invalidCreationArgumentsError());
   }
   return right(new User({ email, firstName, lastName }));
 }
}
ага
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
теперь нам еще надо добавлять условий на проверку того что же вернула функция
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
но убрать обработку ошибок мы не можем, так как ошибка может быть в любом месте, а не только где мы планируем
источник

S

Smooth Operator in Angular - русскоговорящее сообщество
🧤 Andrei Kapytau
Ну тогда я не понял мысль о пробпасывании ошибки)
то что ваш глобальный обработчик будет на самом верху, а ошибка происходить где то глубоко
а так как вы ошибку больше не кидаете, а возвращаете как данные
то в обычном сценарии вы эту ошибку будете прокидывать через тонну функций до глобального обработчика
источник

L

Let me take you into the light in Angular - русскоговорящее сообщество
Smooth Operator
то что ваш глобальный обработчик будет на самом верху, а ошибка происходить где то глубоко
а так как вы ошибку больше не кидаете, а возвращаете как данные
то в обычном сценарии вы эту ошибку будете прокидывать через тонну функций до глобального обработчика
)
источник

L

Let me take you into the light in Angular - русскоговорящее сообщество
Душишь
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Smooth Operator
то что ваш глобальный обработчик будет на самом верху, а ошибка происходить где то глубоко
а так как вы ошибку больше не кидаете, а возвращаете как данные
то в обычном сценарии вы эту ошибку будете прокидывать через тонну функций до глобального обработчика
Почему это он будет на самом верху?
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
bloc pattern
источник

🧤K

🧤 Andrei Kapytau in Angular - русскоговорящее сообщество
Хотя даже без него я не очень понимаю почему здесь прямо будет глубина вызовов. Возвращаются либо данные либо ошибка. Прелесть в том что не избежать обработки обеих веток
источник