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

Всем привет. Вопрос на уровне идей ) Приложение шлет запросы

на бэкенд. Бывает, несколько штук сразу. Один из них может вернуть 401. Как бы так отменить все оставшиеся запросы, сохранить их, и после повторной авторизации вновь отправить? Пока мыслю в сторону дополнительного слоя перед аксиосом, который будет собирать весь пул запросов и отслеживать ответы. В случае 401, авторизация и заново отправка всего пула. Сложность в том, что запросы могут лететь из разных мест и объединять их проблематично.

15 ответов

11 просмотров

Оставшиеся не знаю как, но можно пропустить все через промис олл. Если хоть в одном ошибка, вернёт ошибку. Потом заново можно запрос отправить. Покопай промисы, может найдешь чего более подходящего

Kirill- Автор вопроса
Алексей Магнер
Оставшиеся не знаю как, но можно пропустить все че...

с промисами понятно и так. думаю, как бы это все хранить и где)

Kirill
с промисами понятно и так. думаю, как бы это все х...

У меня была похожая, но без запоминания. Нужно было отправлять пачку запросов на изменение данных. Если ошибка хоть в одном, то прошедшие изменять и выдавать ошибку пользователю. Прошедшие скидывал в массив и возвращал

Kirill- Автор вопроса
Алексей Магнер
У меня была похожая, но без запоминания. Нужно был...

А ответы успешные адресатам как доставлялись? Типа разные сервисы/экшены кидают разные запросы, друг о друге ничего не знают.

Kirill
А ответы успешные адресатам как доставлялись? Типа...

var arrayAllPromises = function arrayAllPromises(arr) { var result = []; for (var i = 0; i < arr.length; i++) { result.push(request(arr[i])); } return result; }; Promise.all(arrayAllPromises(params.bodyArray)) .then(function(data) { return params.successFn ? params.successFn(data) : true; }) .catch(function(err) { ViolationWarnings.showFor(null, { message: err ? err.non_field_errors || err.detail : 'Произошла неизвестная ошибка' }); if (params.errorFn) { params.errorFn(err); } throw err; })

Kirill- Автор вопроса

axios.interceptors не оно?

Есть для реакт-редакс стека такая библоитека redux-offline, поищите что-то похожее или напишите свою очередь простою (first-in\first-out)

это достаточно сложный флоу. насколько он необходим? я на практике не встречал такой реализации

Kirill- Автор вопроса
Rustam 👨🏻‍💻
axios.interceptors не оно?

Рядом, но не совсем) они каждый запрос в отдельности разбирают, и друг о друге ничего не знают

Kirill- Автор вопроса
Илья Раецкий
Есть для реакт-редакс стека такая библоитека redux...

Да в целом вроде концептуально придумал решение, буду пробовать

Kirill- Автор вопроса
Sergey
это достаточно сложный флоу. насколько он необходи...

Вообще странно, ибо кейс кажется вполне типовым

Kirill
Вообще странно, ибо кейс кажется вполне типовым

не уверен на счет типового кейса. токен зарефрешить если протух -это типовой кейс.

Kirill
Вообще странно, ибо кейс кажется вполне типовым

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

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта