f75860c8dd3463c438aceaf9f70efcf41f46e02d
dispatch 비동기 처리 순서 보장 문제와 해결 방법을 체계적으로 정리한 문서를 작성했습니다. ## 작성된 문서 1. README.md - 전체 개요 및 목차 2. 01-problem.md - 문제 상황 및 원인 분석 3. 02-solution-dispatch-helper.md - dispatchHelper.js 솔루션 4. 03-solution-async-utils.md - asyncActionUtils.js 솔루션 5. 04-solution-queue-system.md - 큐 기반 패널 액션 시스템 6. 05-usage-patterns.md - 사용 패턴 및 실전 예제 ## 주요 내용 ### 문제 - Redux-thunk에서 여러 dispatch 순서가 보장되지 않는 문제 - setTimeout(fn, 0) 임시방편의 한계 ### 해결 방법 1. **dispatchHelper.js** (2025-11-05) - createSequentialDispatch: Promise 체인 기반 순차 실행 - createApiThunkWithChain: API 후 dispatch 체이닝 - withLoadingState: 로딩 상태 자동 관리 2. **asyncActionUtils.js** (2025-11-06) - 성공 기준 명확화: HTTP 200-299 + retCode 0/'0' - reject 없이 resolve만 사용하여 Promise 체인 보장 - 타임아웃 지원 3. **큐 기반 패널 액션 시스템** (2025-11-06) - queuedPanelActions.js: 패널 액션 큐 - panelQueueMiddleware.js: 자동 큐 처리 - 비동기 액션 순차 실행 ## 관련 커밋 -9490d72[251105] feat: dispatchHelper.js -5bd2774[251106] feat: Queued Panel functions -f9290a1[251106] fix: Dispatch Queue implementation
ShopTime
LG ShopTime Project
브랜치 관리 전략
프로젝트는 다음과 같은 브랜치 구조로 관리됩니다:
주요 브랜치
-
main- 최종 릴리즈 및 검증이 완료된 소스 코드 보관
- 매주 목요일: QA 브랜치에서 검증 완료된 코드를 main으로 병합
-
qa- 2차 테스트 및 최종 릴리즈 검증용 브랜치
- 매주 화요일: 배포 진행
- 매주 수요일: 검증 진행
-
qa2- 1차 테스트용(qa2 배포) 소스 코드 보관
- LG 깃 레포지토리의 QA2 브랜치와 동기화 필수
-
develop- 고도화 작업 및 유지보수팀 코드 통합 브랜치
- 기능 개발 완료 후 코드 리뷰를 거쳐 해당 브랜치로 병합
작업용 브랜치
-
hotfix- 유지보수팀 전용 브랜치
- 수정 완료 후 develop 브랜치로 병합
-
feat/name_v2- 고도화 작업팀 전용 브랜치
- 기능별로 별도 브랜치 생성 필요
- 예:
feat/home_v2,feat/search_v2 - 작업 완료 후 develop 브랜치로 병합
배포 프로세스
-
화요일
- QA 브랜치 배포
- QA2 → QA 브랜치 병합
-
수요일
- QA 브랜치 검증 진행
-
목요일
- QA → Main 브랜치 병합
- Main 브랜치 릴리즈
- 배포에 대한 자세한 설명은 배포 가이드를 참고해주세요.
커밋 메시지 컨벤션
고도화 작업
- [branch name]Type : 작업내용
- git commit -m "[home]feat : 선택약관 동의시 배너 나타남"
유지보수 작업
- [jira task Number]Type : 작업내용
- git commit -m "[SHOPTIME-4020]fix : pdf open test"
Type
feat: 새로운 기능 추가fix: 버그 수정docs: 문서 수정style: 코드 포맷팅refactor: 코드 리팩토링test: 테스트 코드chore: 빌드 업무 수정
긴급 배포 프로세스
-
긴급 수정 사항 발생 시
hotfix브랜치에서 작업- 담당 PM 및 리드 개발자 승인 필수
-
긴급 배포 승인 시
hotfix→qa2병합- QA2 검증 진행
- 검증 완료 후
qa→main순차적 배포
-
배포 후 조치
- 긴급 배포 내역 문서화
- 재발 방지 대책 수립
develop브랜치에도 수정사항 반영
Description
Languages
JavaScript
83.3%
Less
16.7%