Size: a a a

JavaScript.Ninja

2020 September 29

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
с большего санки - место где асинхронщина подразумевается... поэтому с большинстве случаев оно так и есть поэтому норм. Ну и в большинстве случаев вообще стандартной работы со стейтом норм и круговорота однонаправленного.
Ну если в санки отгружать только асинхронщину, то тогда логично звучит
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Дмитрий Дивин
То сразу все и зарезолвится, делов то
Ну так себе идея
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
special agent 🐱
Получается намеренное усложнение логики, чтобы лишнее поля в сторе не хранить, я так это понимаю
логика остается такой же... Абсолютно.
Просто в тех редких случаях, когда на UI нужно понять, что там в   условной бизнес-логике завершилось что-то, что только инициировал UI... Удобно. Я пока пришёл к выводу, что главное не ждать от этого промиса много чего. Скорее как просто индикация, что всё закончилось хорошо либо плохо.
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
логика остается такой же... Абсолютно.
Просто в тех редких случаях, когда на UI нужно понять, что там в   условной бизнес-логике завершилось что-то, что только инициировал UI... Удобно. Я пока пришёл к выводу, что главное не ждать от этого промиса много чего. Скорее как просто индикация, что всё закончилось хорошо либо плохо.
Хорошо, а вот такой вопрос
Если мы запустили лоадинг через такой санк, который возвращает промис и изменяет стейт компонента, а потом перешли на другую страницу не дожидаясь загрузки, что произойдет?
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
если данные грузим например по API??.. ну, скажу честно, я забиваю на прерывание запросов... Вроде как если уже по феншую мутить, то такие случаи нужно отдельно обрабатывать и прерывать незавершившийся запрос
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
если данные грузим например по API??.. ну, скажу честно, я забиваю на прерывание запросов... Вроде как если уже по феншую мутить, то такие случаи нужно отдельно обрабатывать и прерывать незавершившийся запрос
Да, например
Получается, что такой санк не дает никакой возможности отменить, допустим, очень большой запрос
источник

s🐱

special agent 🐱 in JavaScript.Ninja
И это будет memory leak, потому что мы попытаемся обновить компонент которого уже нет
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Такое случается редко, конечно
источник

AK

Anton Kalodzich in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
логика остается такой же... Абсолютно.
Просто в тех редких случаях, когда на UI нужно понять, что там в   условной бизнес-логике завершилось что-то, что только инициировал UI... Удобно. Я пока пришёл к выводу, что главное не ждать от этого промиса много чего. Скорее как просто индикация, что всё закончилось хорошо либо плохо.
Можете пример показать?
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
special agent 🐱
Хорошо, а вот такой вопрос
Если мы запустили лоадинг через такой санк, который возвращает промис и изменяет стейт компонента, а потом перешли на другую страницу не дожидаясь загрузки, что произойдет?
ну и я например пока что использую доступ к такому промису только в случае валидации, которая условно пришла от сервера, а нужно показать в том же Formik будто это часть ошибки UI...

и второй кейс.. это success-редирект с формы на общий GRID, то есть раз промис зарезолвился, не получая никаких данных из него просто делаем редирект на другой роут
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
ну и я например пока что использую доступ к такому промису только в случае валидации, которая условно пришла от сервера, а нужно показать в том же Formik будто это часть ошибки UI...

и второй кейс.. это success-редирект с формы на общий GRID, то есть раз промис зарезолвился, не получая никаких данных из него просто делаем редирект на другой роут
Я понял юзкейс, спасибо)
Совсем не согласен, но раз удовлетворяет такое решение, то оно имеет место быть
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
special agent 🐱
Да, например
Получается, что такой санк не дает никакой возможности отменить, допустим, очень большой запрос
а если не дожидаться от санки результата.. то тоже не так легко прерывать это...
по сути...

честно, я даже не знаю пока проверенного работающего рецепта, оформленного красиво, потому что на это с большего забиваю, подразумевая, что .. соединение шустрое)))
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
а если не дожидаться от санки результата.. то тоже не так легко прерывать это...
по сути...

честно, я даже не знаю пока проверенного работающего рецепта, оформленного красиво, потому что на это с большего забиваю, подразумевая, что .. соединение шустрое)))
Прерывания и удобный к этому апи пока поддерживают только саги)
источник

s🐱

special agent 🐱 in JavaScript.Ninja
По идее это своего рода sqrs для приложения, что даёт очень большие возможности
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
special agent 🐱
Я понял юзкейс, спасибо)
Совсем не согласен, но раз удовлетворяет такое решение, то оно имеет место быть
буду признателен за альтернативное решение...

я вот сейчас редирект  делаю так: post/put на сервере прошёл успешно, то меняем в стейте условно status = success...
если форма создания получает такое значение - то делаем редирект.
Важно не забыть только сбрасывать по уход ус компоненты либо по приходу на неё статус в условный idling...

Вот планирую рефакторить на обработку статуса санки)
источник

ДI

Димыч IT-INCUBATOR.B... in JavaScript.Ninja
special agent 🐱
По идее это своего рода sqrs для приложения, что даёт очень большие возможности
ага, возможности - да, как и архитектурные сложности)

Я вот противник например saga)) воспринимаю его как микросервисный бекенд паттерн))  и не могу смириться, что возможности, которая она даёт.. Так уж нужны проектам!
Но из опыта моих студентов, много кто на проектах саги юзает! Скучно живётся разрабам - это факт)
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Димыч IT-INCUBATOR.BY
ага, возможности - да, как и архитектурные сложности)

Я вот противник например saga)) воспринимаю его как микросервисный бекенд паттерн))  и не могу смириться, что возможности, которая она даёт.. Так уж нужны проектам!
Но из опыта моих студентов, много кто на проектах саги юзает! Скучно живётся разрабам - это факт)
А какие Вы видите проблемы с ними?
источник

AS

A S in JavaScript.Ninja
как заставиь ts-node понимать optional chaning и nullish coleasing?
источник

s🐱

special agent 🐱 in JavaScript.Ninja
Единственная, которую вижу я, это увеличение количество самих по себе экшенов, которые гоняются туда-сюда
Но в целом для редакс это норма, с этим приходится мириться
источник

s🐱

special agent 🐱 in JavaScript.Ninja
A S
как заставиь ts-node понимать optional chaning и nullish coleasing?
Нужен отдельный плагин
источник