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

Ребята, кто как оборачивает запросы к API, чтобы в одном

месте обработать ошибки валидации и сделать например, трансформацию данных (в обе стороны)?


const user = userTransformer.payload(object) // например, в этом трансформере преобразовали дату в формат API
Vue.$http.post('/user', user)
.then((reply) => {
const data = userTransformer.fetch(response)
store.dispatch('createUser', data)
// тут мне надо знать, что запрос был отправлен
})
.catch((error) => {
if (error.status_code == 422) { ... }
failed(error)
})


Вот это вот всё повторяется в каждом, мать его, сервисе. Во что это дело обернуть, чтобы иметь единый интерфейс для валидации (1), знать о том, что запрос ушел успешно (2), знать о том, что запрос провалился (3). Под "знать", я имею ввиду callback.

Если ли готовое решение подобных проблем или хотябы пример, как это можно грамотно обернуть в Promise (а стоит ли)?

2 ответов

22 просмотра

vue-apify ;)

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

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта