
Владимир
27.06.2016
23:22:14
export function loadSpace(id) {
return async (dispatch, getState, api) => {
let space = await api.get(...)
dispatch({
type: types.loadSpace,
space: getTransformSpaceToView(space),
})
}
}

Nikita
27.06.2016
23:22:19
ну вот и тогда это не экшн криейтор ни разу

Владимир
27.06.2016
23:22:55
где написано про это ?

Nikita
27.06.2016
23:23:16

Google

Nikita
27.06.2016
23:23:22
в доке

Владимир
27.06.2016
23:23:38
в какой

Nikita
27.06.2016
23:24:15
че редаксу с промисом делать?

Vladimir
27.06.2016
23:24:25

Владимир
27.06.2016
23:24:59

Nikita
27.06.2016
23:25:16
хз где он нативный, но ему что с промисом делать?))

Владимир
27.06.2016
23:25:29
мне все равно что редакс будет делать, ты дай что почитать что экшн криейторы ничего не должны возвращать

Nikita
27.06.2016
23:26:05
они должны возвращать экшн, или что-то, что миддлвар приведет к экшну
вот я и спрашиваю, resolve у тебя будет экшн, окай
reject у тебя будет что? Пользователь иди проветрись, у меня хз какая ошибка?)

Владимир
27.06.2016
23:27:04
я тебе пример своего экшена кинул

Nikita
27.06.2016
23:27:32
и где там catch часть?

Владимир
27.06.2016
23:27:46
api.get(...)

Google

Ҫѐҏӗѫӑ
27.06.2016
23:28:40
api.get() вернет разрезолвленный экшн с данными или ошибкой?

Владимир
27.06.2016
23:28:46
там метод который ловит все ошибки, если надо ее по особому обработать возвращает в екшн, логирует все запросы, что бы показать прелоадеры, ну и если нужно кидает сообщение компоненту который отобразит ошибки

Nikita
27.06.2016
23:29:01
то есть промис всегда железно резолвится в then? тогда надо интерфейс менять.
ну не универсально это. Я не хочу показать ошибку в нотификейшн баре. Хочу показать там, где сфейлилось, чтобы юзер не додумывал сам ничего

Владимир
27.06.2016
23:30:54
ты же под себя все что угодно сконфигурировать можешь

Nikita
27.06.2016
23:31:34
так нет же. Твой код предполагает глобальную обработку ошибок
из глобальной обработки переводить в какую-то локальную - это мощно, но это костыль)

Владимир
27.06.2016
23:31:57
ты если ее хочешьобработать сам то она тебе придет обратно в екшн
глобально я 500 обрабатываю, и еще штук 5 ответов от сервера

Ҫѐҏӗѫӑ
27.06.2016
23:32:42
у меня более интересный вопрос — где вотчить тикеты в ff, chrome и safari про асинк-авейт? может вотчит кто?

Владимир
27.06.2016
23:33:17

Ivan
27.06.2016
23:33:21
Кто нибудь может придумать реальный пример зачем в мидлваре читать стейт - кроме как на этапе инициализации - вот тут я немного срач развел https://github.com/redux-observable/redux-observable/issues/56

Владимир
27.06.2016
23:34:21
локалстораж

Ivan
27.06.2016
23:34:36
на этапе инициализации

Владимир
27.06.2016
23:34:36
а ну там про это :)

Ivan
27.06.2016
23:34:49
ничего против не имею
дальше то зачем

Владимир
27.06.2016
23:34:57
ну и не на этапе
положить обратно

Ivan
27.06.2016
23:35:48
клади - зачем это делать в мидлваре - можно стору обернуть

Google

Nikita
27.06.2016
23:36:01
Так или иначе решение интересное, одно из возможных. Так вот это я сейчас могу посмотреть и оценить, что-то подправить под себя. А без опыта и так куча вещей мозг разъедает, хочется простых и лаконичных решений) ждём ещё годик)

Владимир
27.06.2016
23:36:22
хочу что бы за это отвечала мидлвара, и инициировала и обратно клалал

Denis
27.06.2016
23:36:31
дальше то зачем
https://github.com/evgenyrodionov/redux-logger/blob/master/src/index.js#L59

Владимир
27.06.2016
23:37:10

Ҫѐҏӗѫӑ
27.06.2016
23:38:09

Ivan
27.06.2016
23:38:21

Владимир
27.06.2016
23:38:45
как вариант, анду реду делать

Ivan
27.06.2016
23:38:46
спасибки
анду реду проще редьюсер обернуть

Владимир
27.06.2016
23:39:27
всего приложения

Ivan
27.06.2016
23:39:44
весь один редьюсер

Nikita
27.06.2016
23:40:14
а появились роутеры полностью завязаные на стейт приложения?

Владимир
27.06.2016
23:40:16
а если их 2 :)

Ivan
27.06.2016
23:40:28
их один
загляни в редукс комбайн редьюсер или как то так

Nikita
27.06.2016
23:40:58
например у меня была проблема, в RR завязался на onEnter/onLeave, оказалось оно не работает, если в браузере ручками тыкать вперед/назад)

Владимир
27.06.2016
23:41:05
так это комбайн редьюссер

Ivan
27.06.2016
23:41:28
и что он по твоему возвращает

Ҫѐҏӗѫӑ
27.06.2016
23:42:46
в багзилле тоже нашел

Google

Владимир
27.06.2016
23:43:08
функцию которая по всем редьюссерам пройдет

Ivan
27.06.2016
23:43:35
а какие у нее аругменты ?

Владимир
27.06.2016
23:44:18
ты мне скажи как ты ее обернешь а не то какие у нее аргументы :)

Nikita
27.06.2016
23:44:34

Ivan
27.06.2016
23:44:40
Володь не тупи
если ты можешь обернуть blbla(state, action)=> newState
то тебе неважно что там внутри

Владимир
27.06.2016
23:45:31
нет важно
она у тебя в редукс идет

Admin
ERROR: S client not available

Ivan
27.06.2016
23:45:41
нет

Ҫѐҏӗѫӑ
27.06.2016
23:45:56

Владимир
27.06.2016
23:46:21
зачем я это буду оборачивать и делать непонятно что в инициализации сторы когда могу все тоже самое сделать красиво в мидлваре

Ҫѐҏӗѫӑ
27.06.2016
23:46:37
а так меня больше асинхронные итераторы волнуют

Владимир
27.06.2016
23:46:42

Ҫѐҏӗѫӑ
27.06.2016
23:47:03
кроме чакракор

Ivan
27.06.2016
23:47:22
потому что это проще делать не в мидлваре https://github.com/mattkrick/redux-optimistic-ui

Nikita
27.06.2016
23:47:23
https://github.com/tc39/ecmascript-asyncawait/issues/97#issuecomment-219957930

Ҫѐҏӗѫӑ
27.06.2016
23:47:24
там уже есть

Google

Nikita
27.06.2016
23:47:31
вообще можно просто на это issue подписаться

Ҫѐҏӗѫӑ
27.06.2016
23:47:54
я хочу знать статусы в трекерах движков
на это я подписан овер100500 дней

Nikita
27.06.2016
23:48:28
а v8 промисы собираются разгонять? А то же позор

Ivan
27.06.2016
23:48:34
аналогично про сейв стейта проще стору обернуть

Ҫѐҏӗѫӑ
27.06.2016
23:48:37
тут пусто блеать
https://webkit.org/status/?

Nikita
27.06.2016
23:48:44
им серсея со словами покайсо сниться должна

Владимир
27.06.2016
23:50:32

Ҫѐҏӗѫӑ
27.06.2016
23:50:49
шта?

Владимир
27.06.2016
23:51:08
что за асинхронные итераторы

Ҫѐҏӗѫӑ
27.06.2016
23:51:13

Владимир
27.06.2016
23:51:46

Ҫѐҏӗѫӑ
27.06.2016
23:51:52
https://github.com/tc39/proposal-async-iteration

Nikita
27.06.2016
23:52:35
for await (let line of readLines(filePath)) {
print(line);
}
многабукф
напоминает джаву с ее private static final native trololo functionName()

Ҫѐҏӗѫӑ
27.06.2016
23:54:17
https://github.com/tc39/proposal-async-iteration#async-generator-functions
фор авейт не такой уж юзабельный для моих кейсов
там не понятно что с кетч

Nikita
27.06.2016
23:56:00
простых async/await достаточно
лучше пусть в промис стандартные методы коллекций добавят
как в bluebird