
Sergey
12.10.2018
19:51:43

Павел
12.10.2018
19:53:17

Yury
12.10.2018
19:53:31

Google

Yury
12.10.2018
19:53:33
Верно?

Павел
12.10.2018
19:54:32

Sergey
12.10.2018
19:54:44
даже какой-нибудь мэйл сервер тебе тихо ругнется в логи что ты ему херню шлешь

Павел
12.10.2018
19:55:37

Sergey
12.10.2018
19:55:49
это надежнее
сервер шлет запрос с задачей + что дернуть когда закончишь работу. Ты заканчиваешь работу и дергаешь вэбхук
так типа будет клево и удобно и не надо никого бомбить

Павел
12.10.2018
19:56:21
Это soap сервис который реализует протокол общения описаный в xsd

Yury
12.10.2018
19:57:46

Google

Павел
12.10.2018
19:57:52
Ктонибудь работал со SMEV протоколом?)

Sergey
12.10.2018
19:58:12

Yury
12.10.2018
19:59:01

Павел
12.10.2018
19:59:34

Sergey
12.10.2018
19:59:38

Aleh
12.10.2018
20:00:58
Ну либо Email<Valid>|Email<Unchecked> и тип может меняться
Если может где-то неважно валидный ли он, а где-то важно

Sergey
12.10.2018
20:01:39
пойду смотреть на PHP и плакать

Yury
12.10.2018
20:02:05

Aleh
12.10.2018
20:02:06

Yury
12.10.2018
20:02:20
Java 152?

Sergey
12.10.2018
20:03:55

knopkod4v
12.10.2018
20:04:00

Sergey
12.10.2018
20:04:17

knopkod4v
12.10.2018
20:05:36
фабрики
но тут надо типа запретить как-то объект напрямую создавать =\ Хотя может конвеншенами обойтись нормально получится =\

Yury
12.10.2018
20:06:16
Если проверки зависят от стейта?

Sergey
12.10.2018
20:06:49

Google

Sergey
12.10.2018
20:07:13
короч, опять же может хватит коней в вакууме обсуждать? Лучше придумай мне кейс при котором мне надо что-то сложно валидировать на что бизнесу в целом насрать

F01134H
12.10.2018
21:48:44

Sergey
12.10.2018
21:49:02

F01134H
12.10.2018
21:49:18
Ну а мне интересно - почему
что такого плохого в исключениях и как это решается ивентами

Sergey
12.10.2018
21:53:20
справедливости ради - исключения плохо только тогда, когда ты кидаешь исключение с мыслью что кто-то его обязательно поймает. Как эдакое сообщение которое идет в разрез с обычным потоком управления кодом. Как goto. А чем плохи goto - читать тут: http://david.tribble.com/text/goto.html

F01134H
12.10.2018
21:54:21

Sergey
12.10.2018
21:54:51
опять же, повторюсь - проблема только когда код который кидает исключение знает что кто-то его обработает. Типа как ивент.
а если ты кидаешь исключение потому что "ну для меня это исключительная ситуация и тут мои полномочия все, если никто не словит и упадет мне побоку" - то тогда как бы и проблемы нет
но оч легко поддаться на всякие плохие штуки

Valentin
12.10.2018
22:02:32
О, спасибо, это рассуждение порядок в голове в этом уголке навело)

Артур Евгеньевич
13.10.2018
09:37:16
Мне ваш диалог напомнил историю которую недавно у лида услышал.
На собесе пришел чувак и с гордостью продемонстрирвоал свой фреймворк с "убийцей сервис контейнера". Суть в том что он ВСЕ сервисы наследовал от Exception и в случае когда ему нужен какой то сервер он просто делал Throw, отлавливал его и юзал. Из минусов своего фреймворка он указал то, что нужно следить за тем что все сервисы отлавливались, т.к если взять сервис и не обернуть в кэтч то все упадет

Aleh
13.10.2018
09:41:42
кидок в сторону контейнера какой-то

Sergey
13.10.2018
09:45:33

Артур Евгеньевич
13.10.2018
09:46:26

Sergey
13.10.2018
09:46:36
на хабре был один наркоман с которым мне нравилось спорить - у него async/await на исключениях и норм
работало без всех этих ваших сложностей с генераторами

First
13.10.2018
09:47:06

Google

Sergey
13.10.2018
09:47:17
Т.е?
я был слишком туп что бы понять как это работает
но это работало

First
13.10.2018
09:47:28
А пример не накинешь?

Sergey
13.10.2018
09:47:46
там вся магия под копотом и я реально не помню как он это делал

First
13.10.2018
09:47:59
Потому как у меня 2 варианта реализации того что ты сказал

Aleh
13.10.2018
09:48:08

Sergey
13.10.2018
09:48:15
я хз, честно
просто делюсь что люди творят под веществами

Aleh
13.10.2018
09:48:29
const a = throw asyncF()
все хорошо, но обратно ж не вернуться

First
13.10.2018
09:48:41
А, все таки это

Aleh
13.10.2018
09:48:56
а как?

First
13.10.2018
09:49:12
Именно в выполнение без .catch?

Aleh
13.10.2018
09:49:20
да

First
13.10.2018
09:49:25
Сек

Aleh
13.10.2018
09:49:33
ну дальше же этот a заюзать хочется с каким-то значением)

First
13.10.2018
09:50:40
С await у тебя будет тот же exception
Только само исключение будет обернуто в промис
Но выполнение дальше не пройдет если не обработаешь

Aleh
13.10.2018
09:51:01
если я throw заменю на await?

Google

Aleh
13.10.2018
09:51:28
нет же, в случае генераторов я могу продолжить вычисление генератора
gen.next()
и даже значение прокинуть
или exception
а как в случае эксепшена мне значение обратно прокинуть

First
13.10.2018
09:53:18
Я не юзал генераторы, пардоньте (юзал, но не помню)

Никита
13.10.2018
09:54:17
f = async () => { x = await foo() }
как без генераторов в x вернется значение foo ?

First
13.10.2018
09:55:39
А что не так? ?

Aleh
13.10.2018
09:56:25
const f = () => { const x = throw foo(); console.log(x) }
и дальще runAsync(f)
как должен быть реализован этот runAsync?

First
13.10.2018
09:56:48
Он должен обработать exception

Aleh
13.10.2018
09:57:03
const runAsync = f => {
try {
f()
} catch(e) {
// wtf should be here??
}
}
дальше?)

First
13.10.2018
09:57:24
Тебе x нужен?)

Aleh
13.10.2018
09:58:15
ну да, мне надо чтобы f отработал
предположим, что foo такой: const foo = () => Promise.resolve(20)
по итогу запуска f в консоль должно вывестись 20

First
13.10.2018
10:00:43
Окей. А как ты себе это представляешь?)
Ты кидаешь исключение и хочешь, чтобы код ниже исключения был выполнен