@vuejs_ru

Страница 652 из 3900
DimenSi
01.07.2017
17:00:22
да, вообще я ожидал, что если внутри makeRequest происходит ошибка, то я для getProjects отдаю все равно успешный ответ

Illya
01.07.2017
17:02:16
да, отдаете

return ['test']

вам приходит ответ в виде массива со строкой test

Google
DimenSi
01.07.2017
17:02:45
да, я понял... я же сделал деструктуризацию...

Illya
01.07.2017
17:02:47
потом вот эта строка const { data }

радостно вытягивает у него поле data

DimenSi
01.07.2017
17:03:29
фэйл и мягкий js

спс

Illya
01.07.2017
17:05:01
кря

https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D1%82%D0%BE%D0%B4_%D1%83%D1%82%D1%91%D0%BD%D0%BA%D0%B0

DimenSi
01.07.2017
17:05:42
ну, тут дело в том, что я просто в упор не видел, что я сделал деструктуризацию

Illya
01.07.2017
17:05:51
кря :)

DimenSi
01.07.2017
17:07:31
я не пойму, как лучше обрабатывать ошибки? В самом экшене или же в функции? Просто если делать в экшене, то в будущем наплодится огромное количество try,catch на каждый экшен

Illya
01.07.2017
17:09:46
ну скажем так

вот эта строчка слегка отстой

const { data } = await projectsApi.getProjects()

Google
Illya
01.07.2017
17:10:36
почему - потому что у вас "протекла" абстракция - штука которая получает данные знает о формате ответов аксиоса

это стоит прятать за апи, чтоб вам сразу возращался результат

и ошибки стоит обрабатывать в экшне, потому что апи не имеет права "глотать" ошибки

DimenSi
01.07.2017
17:12:13
хм

но как это совместить? Я должен через getProjects() возращать типо data, но если ошибка то должен вернуть headers?

Illya
01.07.2017
17:15:56
а зачем мы вообще глотаете ошибку

DimenSi
01.07.2017
17:16:56
я тоже не знаю

просто, у меня getProjects выходит просто шорткат какой-то для аксиоса

Illya
01.07.2017
17:18:58
любое апи и есть простая обертка над какой-нибудь библиотекой

транспортный слой не должен содержать бизнес логики

у нас так же

https://gist.github.com/anonymous/df3a35aee50bc7413c30d8b8a6942ef4

все апи просто обертка над аксиосом

DimenSi
01.07.2017
17:20:57
получается, в этот раз мне утенок нужен, потому, что я не понимаю, что я хочу от своего апи.

я хочу получать данные, но если ошибка какая-та, то хочу ее обработать

Illya
01.07.2017
17:21:33
ошибку надо обрабатывать в экшнах

Потому что апи - транспортный слой

обработка ошибок - бизнес логика

нельзя их смешивать

DimenSi
01.07.2017
17:22:15
хм, понятно. Но как быть с const { data } = await projectsApi.getProjects()

Google
DimenSi
01.07.2017
17:22:42
эта штука должна отдавать данные или ошибку

я должен всегда знать, в каком формате приходят данные от этой штуки

или нет?

Illya
01.07.2017
17:23:26
ошибку не глотать и ловить ее через catch

DimenSi
01.07.2017
17:24:13
const actions = { async getProjects ({ commit }) { try { const { data } = await projectsApi.getProjects() commit(PROJECTS_LIST, data) } catch (err) { console.log(err) } } }

Illya
01.07.2017
17:24:36
ну вот там в catch и делайте то что вам надо

как вам надо обрабатывать ошибки

DimenSi
01.07.2017
17:24:55
а что насчет протечки абстракции?

я знаю, что мне приходят данные в дату

или я путаюсь?

Illya
01.07.2017
17:25:56
да, это тоже бы пофиксить

возвращать .data сразу из getProjects()

Illya
01.07.2017
17:26:18
вряд ли вам где-то заголовки нужны

DimenSi
01.07.2017
17:26:47
т.е. я всегда возвращаю дату, но если ошибка какая-та, то уже разбираюсь с заголовками?

Illya
01.07.2017
17:27:16
ну я не помню, возвращает ли аксиос свой класс ошибки

чтоб можно было через instanceof проверить

но в общем да

"ошибка" и "данные" это разные сущности

им более чем допустимо иметь разный формат

DimenSi
01.07.2017
17:29:33
ясно, спасибо. Буду писать, думать, работать. Осваивать

Google
Rafael
01.07.2017
17:30:18
ошибку надо обрабатывать в экшнах
о да, я этому научился, когда переписывал redis protocol parser на плюсах в этом году, еще тогда удивлялся, почему я раньше так не сделал -_-

вообще я очень рекомендую всем периодически переписывать свой старый код

по нескольким причинам: 1) явно виден прогресс 2) понятно, зачем нужно писать хорошо и/или зачем нужны коментраии 3) четко формулируется мысль, почему что-то плохо, а что-то хорошо

Illya
01.07.2017
17:32:54
комментарии не нужны

за очень редким исключением

Rafael
01.07.2017
17:33:30
поэтому и написал "и/или", потому что либо говнокод и коменты, либо хороший и понятный код

Illya
01.07.2017
17:33:45
у нас на все апи один коммент

DimenSi
01.07.2017
17:33:59
"это апи"

Illya
01.07.2017
17:34:07
// See http://repository.cmu.edu/cgi/viewcontent.cgi?article=3059&context=compsci why we need that

перед стремной строчкой

Admin
ERROR: S client not available

Rafael
01.07.2017
17:35:06
ну вот я раньше считал, что именование переменных должно состоять из 1 слова и боялся что меня назовут джавистом, если имена переменных будут большие

:D

DimenSi
01.07.2017
17:35:43
у меня пока больше 5 слов не было

Rafael
01.07.2017
17:37:38
лол
мое темное прошлое, именно поэтому дорога в рай мне закрыта

Kelin
01.07.2017
17:37:44
))))

Rafael
01.07.2017
17:37:46
я как Константин из одноименного фильма

Kelin
01.07.2017
17:38:10
кстати, хороший фильм

Rafael
01.07.2017
17:38:32
ога

Google
DimenSi
01.07.2017
17:38:54
фильм да, сериал...

Rafael
01.07.2017
17:39:06
фильм да, сериал...
а про сериал никто и не знает

я вот не знаю

DimenSi
01.07.2017
17:39:23
я смотрел. Там какой-то бомж был ,а не актер

Rafael
01.07.2017
17:39:28
на данный момент мне только 4 сериала понравились

DimenSi
01.07.2017
17:39:32
и ангел негр

Illya
01.07.2017
17:39:39
мне гораздо больше (:

Rafael
01.07.2017
17:40:10
но я впринципе сериалы только в этом году начал смотреть, до этого - нини

Kelin
01.07.2017
17:40:11
да годный фильм

Yaroslav
01.07.2017
17:40:12
а что скала могёт без jvm?

Kelin
01.07.2017
17:40:30
я кст сериалы не смотрел никакие вообще

Rafael
01.07.2017
17:41:12
мой топчик: 1) боевое братство 2) поколение убийц 3) во плоти 4) миллиарды

порадок не соблюден

все более или менее равноценны

Illya
01.07.2017
17:41:39
ну на 25% сойдет :)

DimenSi
01.07.2017
17:41:41
4 класс вещь

Rafael
01.07.2017
17:42:00
4 класс вещь
ога, как раз смотрю потихонечку

ну на 25% сойдет :)
на чем сошлось?

DimenSi
01.07.2017
17:42:12
миллиарды вообще впечатлил, нету убийств и всякого типичного для us сериалов

Rafael
01.07.2017
17:42:36
Illya
01.07.2017
17:42:51
Я сериалы тоннами поглощаю

Billions конечно же

Rafael
01.07.2017
17:43:27
Billions конечно же
смотрел The boss?

Страница 652 из 3900