Нет ничего более постоянного, чем временное
👁 516💬 3
Пишу этот текст на одном дыхании 😆
Есть вещи в работе программиста, которые стараешься максимально обходить стороной. Потому что просто не хочется с этим связываться.
И вот одна из таких вещей это RxJS.
Для тех кто не в теме, это библиотека для реактивного программирования.
Всю свою жизнь я пишу в императивном стиле, хотя вроде как JavaScript является ассинохронным и под капотом просто требует использование реактивного стиля.
Так уже около 7 лет использования NodeJS, я прошел путь от callback до async/await.
И именно async/await в nodeJS принес ту самую императивность, к которой мы привыкли в других языках.
Дак к чему это я все. Я всегда считал, что смогу избежать использования Observable на Node.js, поскольку он там вроде как не нужен совсем, это же больше для фронтов. Однако жизнь заставила вникнуть и изучить библиотеку RxJS, поскольку только так можно было реализовать функцию Stream из OpenAI SDK с поддержкой Server Sent Event.
Я реально не нашел другого способа проксировать поток с OpenAI на Фронт в своем проекте. Поэтому сейчас эта функция выглядит максимально сложно и безобразно, с 10 уровнями вложенности через pipe и switchMap.
Надеюсь этот ужас как-то можно отрефакторить, но вот какой вопрос, стоит ли это делать сейчас?! Если оно работает, то наверное лучше пока и не трогать. Так и живем, теперь эта функция останется на долгие годы в этом проекте 😆
@knowyourbackend
@kyb_chat
#Backend
6
Комментарии · 3
- Спроси это у OpenAI 😄
- Честно говоря, я его уже замучил с этими вопросами про RxJS )
- @pewpewstГосподи какая жиза, был целый проект на RxJs Причем не простенький, а нормальный такой бизнес, онлайн магаз Бэк занимался проксированием и синхронизацией данных, и еще пару мелких фич И все это в монорепе 🥲