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

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

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

15 ответов

13 просмотров

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

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 и потом успешной авторизацией, может быть большим, и все эти отложенные запросы могут устареть. и их выполнение приведет к ненужному эффекту.

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

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

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
Всем привет! вывожу на общей стр дочерние ресурсыв каждом ресурсе галерея, и первая фотка должна выводиться на общей [!DocLister? &prepare=photo !]
Alekso
12
А можно вопрос? Мне сегодня сказали что у меня функция (которая просто заполняет массив значениями) не правильная void Full(double * arr, int n) { for (int i = 0; i < n; i...
† C E †
7
День добрый, подскажите пожалуйста, есть ли какой-то способ сказать ребару не компилировать определённое приложение? Всю доку их перечиатл ничего подобного не нашёл
Кирилл
14
Добрый вечер. Хочу чтобы у меня в классе поле было функцией, которая возвращает строку. Делаю так: interface ... TGetOutPath = function : String of object; ... protec...
Kirill Filippenok
12
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
10
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
Карта сайта