Size: a a a

2020 June 09

P

Paruyr🛸🪐🌏 in ☄️ effector
В твоем кейсе если ты спиннер рендеришь сразу в HTML, то все равно мигать будет
Можно не показывать спиннер, так если загрузка начальных данных будет 2 секунды, юзер 2 секунды будет видеть белый экран все это время ))
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
эту отвественность кмк лучше перенести на UI, пускай он париться как там показывать состояние
источник

l

lllla in ☄️ effector
Кто работал с Fetch API? Как вы обрабатываете ошибки?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Создаешь эффект, который вызывает fetch
Все запросы в приложении как коэффекты
Ловить ошибки можешь в коэффектах и в самом эффекте фетча
источник

R

Rafael 🦠 in ☄️ effector
lllla
Кто работал с Fetch API? Как вы обрабатываете ошибки?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Я так на основном ловлю типа 401
выше ребята писали похожее
источник

l

lllla in ☄️ effector
покажи плиз HttpNetworkError
источник

l

lllla in ☄️ effector
если 503 — он дальше не пойдет
источник

🦜

🦜 in ☄️ effector
lllla
А как хендлить, например 500-ки?
Любой эффект, который упал — навешивать нотификацию.
В голову приходит только домен. Но это, наверное, тупо все эффекты от лица одного домена создавать, не?
Делаю на уровне интерсептора ky.js
источник

R

Rafael 🦠 in ☄️ effector
lllla
покажи плиз HttpNetworkError
источник

l

lllla in ☄️ effector
спасибо
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
О а что за ts-custom-error ?
источник

R

Rafael 🦠 in ☄️ effector
lllla
если 503 — он дальше не пойдет
https://gist.github.com/Fl0pZz/0f29b11a0b79084acf1d9fd42c5acbb5

более того, у меня еще и ошибки обработать можно
источник

R

Rafael 🦠 in ☄️ effector
но это grpc клиент, не fetch
источник

R

Rafael 🦠 in ☄️ effector
чаек попью и расскажу всю мою схему
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Я так понимаю ты все запросы в приложении создаешь attach-ем?
источник

R

Rafael 🦠 in ☄️ effector
Paruyr🛸🪐🌏
Я так понимаю ты все запросы в приложении создаешь attach-ем?
нет
grpc web имеет возможность генерировать клиентский слой

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

чтобы уметь автоматом обрабатывать ошибки я их создаю от домена, в onEffectCreate которого навешиваю обработчики ошибок
источник

R

Rafael 🦠 in ☄️ effector
в версии 1.10 завезли поддержку интерцепторов, поэтому сейчас у меня metadata уедет из этих функции
источник

R

Rafael 🦠 in ☄️ effector
и пропадет куча атачей, где я токен прокидывал
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Хм
А у меня так:
1. fetchFx - собсно fetch + парсит ошибку с бека и throw нужных классов
2. requestFx - attach к fetchFx, подмешивает токен и другие настройки
3. createRequest - фабрика запросов, работает как attach, внутри создается новый эффект, который запускает request
источник