169 похожих чатов

@Toleckk Как там на редаксе нормально сделать что-то подобное челу? const

$apiType = createStore(‘real’);
const $baseUrl = combine(
$baseUrls,
$apiType,
(urls, type) => urls[type]
);

const requestFx = attach({
source: { baseUrl: $baseUrl },
effect: ({ baseUrl }, params) => axios.request({ baseUrl, …params })
});

36 ответов

38 просмотров

apiType положить в слайс, combine заменить на селектор, requestFx на thunk с выбором baseUrl из стора через селектор(getState())

Dmitry Remezov
@Zmiterr 💁‍♀️

Думал такой вариант, но в санке инстанс аксиоса создавать показалось дичью

Zmiter
Думал такой вариант, но в санке инстанс аксиоса со...

Абстрагировать http client от санок, эффекторов и т.д. надо бы. А то рил дич энивей

Dmitry-Remezov Автор вопроса
Den Pol
Абстрагировать http client от санок, эффекторов и ...

Чтобы что? У него буквально логика endpoint -> http client -> baseUrl (from state)

Dmitry Remezov
Чтобы что? У него буквально логика endpoint -> ht...

Чтобы, к примеру, клиент был переиспользуемым со встроенным стандартным обработчиком ошибок.

Den Pol
Чтобы, к примеру, клиент был переиспользуемым со в...

Не стоит делать лишнюю работу на будущее, которая может не оказаться нужной. Делайте всё как можно проще

Андрей Звёздочка
Не стоит делать лишнюю работу на будущее, которая ...

Я бы согласился, если на проекте используется один апи метод )

Den Pol
Я бы согласился, если на проекте используется один...

Ты путаешь простоту для разработчика и простоту для машины. Ты пытаешься сделать код простым для машины, а не для разараба. Не надо так. Да, код может быть неоптимальным, но достаточным. Каждой оптимизации своё время

Андрей Звёздочка
Ты путаешь простоту для разработчика и простоту дл...

Ты забыл про масштабируемость, она тоже должна быть в коде

Dmitry-Remezov Автор вопроса
Dmitry Remezov
В чем масштабируемость-то?

Переиспользуемость хттп клиента

Sergey Grishchenko
Имхо важно чтобы он был стейтлесс

А как же контроллеры для отмены лишних запросов? ))

Sergey Grishchenko
Сам клиент стейтлесс, запрос стейтфул

Как отменить запрос, если другой про него не знает?

Den Pol
Как отменить запрос, если другой про него не знает...

А что ты хочешь отменить на уровне фетчера?

Sergey Grishchenko
А что ты хочешь отменить на уровне фетчера?

Предыдущий такой же и/или какой-нибудь другой

Dmitry-Remezov Автор вопроса
Den Pol
Предыдущий такой же и/или какой-нибудь другой

какой-нибудь другой будет отменяться по бизнес-логике а такой же - состояние конкретного запроса

Например, аполло при одинаковых запросах не отменяет старый запрос, а просто не кидает новый

Зачем бизнес логике знать про состояние запросов?

Dmitry-Remezov Автор вопроса
Den Pol
Зачем бизнес логике знать про состояние запросов?

Так это твой тейк про “отменить какой-нибудь другой”

Den Pol
В новом обновленные данные могут быть

Ну это прекрасно, но есть популярный фетчер аполло, который несколько лет уже содержит именно такую логику

Dmitry Remezov
Так это твой тейк про “отменить какой-нибудь друго...

Ок, перефразирую, зачем бизнес логике знать про все контроллеры?

Den Pol
Ок, перефразирую, зачем бизнес логике знать про вс...

А зачем апи-клиенту знать про логику конкретно твоей фичи?

Sergey Grishchenko
А зачем апи-клиенту знать про логику конкретно тво...

Я за абстракцию уровней: апи и бизнес логики приложухи

Dmitry-Remezov Автор вопроса
Den Pol
Ок, перефразирую, зачем бизнес логике знать про вс...

Какие контроллеры? Ты про запросы? Ну затем, что они оттуда вызываются

Den Pol
Я за абстракцию уровней: апи и бизнес логики прило...

Я считаю что дедупликация и кеширование в апи-клиенте МОГУТ БЫТЬ, но возможность отменять другие запросы -- это перебор

Sergey Grishchenko
Я считаю что дедупликация и кеширование в апи-клие...

Ну если тебе это не нужно, я не спорю ) мне контроль на доп уровне требуется. И работает отлично.

Dmitry-Remezov Автор вопроса
Den Pol
Ну если тебе это не нужно, я не спорю ) мне контро...

Что делаешь, если отменять запрос Х надо после запроса У или триггера Z, если выполняется условие K?

Den Pol
Ну если тебе это не нужно, я не спорю ) мне контро...

Зачем это в принципе может понадобиться?

Dmitry Remezov
Что делаешь, если отменять запрос Х надо после зап...

Мне кажется, что он имеет в виду возможность по тегу какому-нибудь отменить запрос извне, а не что апи-клиент сам по себе определяет что и когда ему надо отменять. Если второе, то это оч шаткая система

Dmitry Remezov
Что делаешь, если отменять запрос Х надо после зап...

Нет. Бэк не всегда отвечает успешно - происходит retry. Иногда его нужно отменять (в связи с изменившимся состоянием, но это не важно - хттп клиент не знает про состояние аппки, зато владеет всем, что позволит ему не делать лишнего)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта