NestJS · Senior · Запитання 23 з 75
Як тримати транзакції узгодженими між кількома сервісами в одному запиті, не передаючи об'єкт транзакції всюди?
- ✓Правильна відповідь: Зберігати транзакцію (чи entity manager) в ALS, а репозиторії хай її підхоплюють, наприклад через
@nestjs-cls/transactional - 2Відкривати окрему транзакцію в кожному сервісі
- 3Використати request-scoped репозиторії для кожної сутності
Пояснення
ALS тримає транзакцію прив'язаною до асинхронного потоку запиту, тож вкладені виклики сервісів долучаються до неї.