SUPER_OLEG_DEV Telegram 91
Привет!

У Angular ну очень классное API для HTTP Interceptors:

```
(request, next) => next(request)
```

Где next(request) возвращает response.

И для сравнения API у axios - https://axios-http.com/docs/interceptors

Это закрывает просто все необходимые кейсы:
- изменить параметры запроса
- вернуть кастомный ответ или ошибку
- модифицировать ответ или ошибку

Забираю в tramvai и депрекейчу накиданные мной на коленке страшные modifyResponse, modifyRequest и modifyError коллбэки для встроенного HTTP клиента)

Правда Angular создает инстанс Observable при вызове next, в tramvai Rx не используется, и будут обычные промисы:


[
// меняем параметры запроса
(req, next) => next({ ...req, timeout: 1000 }),

// модифицируем ответ
(req, next) => next(req)
.then((res) => ({ ...res, payload: 'Intercepted' }),

// модифицируем ошибку
(req, next) => next(req)
.catch((reason) => {
Object.assign(reason, { code: 'INTERCEPTED_ERROR' });
throw reason;
},
]

Мелкая фича, но всегда очень приятно встретить и позаимствовать лаконичное и функциональное API
🔥12👍3



tgoop.com/super_oleg_dev/91
Create:
Last Update:

Привет!

У Angular ну очень классное API для HTTP Interceptors:

```
(request, next) => next(request)
```

Где next(request) возвращает response.

И для сравнения API у axios - https://axios-http.com/docs/interceptors

Это закрывает просто все необходимые кейсы:
- изменить параметры запроса
- вернуть кастомный ответ или ошибку
- модифицировать ответ или ошибку

Забираю в tramvai и депрекейчу накиданные мной на коленке страшные modifyResponse, modifyRequest и modifyError коллбэки для встроенного HTTP клиента)

Правда Angular создает инстанс Observable при вызове next, в tramvai Rx не используется, и будут обычные промисы:


[
// меняем параметры запроса
(req, next) => next({ ...req, timeout: 1000 }),

// модифицируем ответ
(req, next) => next(req)
.then((res) => ({ ...res, payload: 'Intercepted' }),

// модифицируем ошибку
(req, next) => next(req)
.catch((reason) => {
Object.assign(reason, { code: 'INTERCEPTED_ERROR' });
throw reason;
},
]

Мелкая фича, но всегда очень приятно встретить и позаимствовать лаконичное и функциональное API

BY SuperOleg dev notes


Share with your friend now:
tgoop.com/super_oleg_dev/91

View MORE
Open in Telegram


Telegram News

Date: |

Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator. Healing through screaming therapy The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Administrators
from us


Telegram SuperOleg dev notes
FROM American