All streams
Search
Write a publication
Pull to refresh
0
0
Леонид Шегай @pursuit

Программный инженер

Send message

Это мне напомнило, как я когда-то для своего проекта хотел внести обработку ошибок из Go. И поэтому написал мини либу: https://gist.github.com/lshegay/c4298afd7425c5449d60daefc3305fca

Правда, есть и минус в таком подходе. В особенности касается и safeFetch из данного поста. По запаре можешь начать прокидывать необработанный объект с ok, data/error в функцию в качестве аргумента, где ожидается, например, дженерик с объектом.

Это связано с тем, что вот такая запись:

const users = await safeFetch.get<User[]>('/api/users');

НЕ подразумевает необходимость обработать users и также НЕ подразумевает, что надо использовать не users, а users.data. Из-за чего начинаешь придумываешь штуки типа usersResult. Хотя это и болезнь axios в целом.

Можно еще раскрывать объект, например, const { data: users, ok: okUsers, error: errorUsers } = await safeFetch, но тут уже глазу неприятно становится.

Возможно, в теории, можно попробовать возвращать не объект, а кортеж типа const [users, errorUsers] = await safeFetch..., и в целом избавиться от ok, а проверять error на null.

На моей памяти самое неудобное - это если необходимо динамически проставлять классы относительно пропсов, то нужно намерено заставить Tailwind компилировать ограниченное число необходимых классов через обходные пути. Ну либо использовать старый добрый style атрибут.

Haxe еще не считается языком программирования?

Information

Rating
Does not participate
Location
Хабаровск, Хабаровский край, Россия
Registered
Activity

Specialization

Fullstack Developer, Game Developer
Middle
JavaScript
Git
TypeScript
React
Node.js
Vue.js
Web development