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

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

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

15 ответов

15 просмотров

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта