Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Fix] #363 - 무한로딩 해결 로직 수정 #364

Merged

Conversation

ffalswo2
Copy link
Contributor

@ffalswo2 ffalswo2 commented Apr 5, 2024

🌴 PR 요약

🌱 작업한 브랜치

🌱 PR Point

문제 원인

// 출석 체크 시작 전
{ "success": false,"message":"출석 체크 시작 전입니다","data": null }

// 출석 체크 시작 후
{"success":true,"message":"출석 차수 조회 성공","data":{"id":529,"round":2}}

출석체크를 시작하기 전에는 이런 응답값이 오고 있습니다. data의 타입이 nil입니다.

/// ShowAttendanceRepository

// Before
public func fetchLectureRound(lectureId: Int) -> AnyPublisher<AttendanceRoundModel?, Error> {
    return self.attendanceService
        .fetchAttendanceRound(lectureId: lectureId)
        .compactMap { $0.data?.toDomain() }
        .eraseToAnyPublisher()
}

// After
public func fetchLectureRound(lectureId: Int) -> AnyPublisher<AttendanceRoundModel?, Error> {
    return self.attendanceService
        .fetchAttendanceRound(lectureId: lectureId)
        .map { $0.data?.toDomain() } // <---✅ 바뀐 부분 ✅
        .eraseToAnyPublisher()
}

기존 로직의 경우 Repository에서 Service에서 받은 응답값의 data가 nil일 경우 compactMap에 의해서 필터링되어 이후 ViewModel에서 로딩뷰를 stop하는 로직이 트리거될 일이 없던 것이 원인이였습니다.

따라서 compactMapmap으로 바꾸고 nil일 경우에도 로딩뷰를 stop하게끔 재수정했습니다.

📮 관련 이슈

@ffalswo2 ffalswo2 added Fix 문제 해결, 코드 수정 size/XS 민재 🦁 labels Apr 5, 2024
@ffalswo2 ffalswo2 self-assigned this Apr 5, 2024
Copy link

height bot commented Apr 5, 2024

This pull request has been linked to 1 task:

  • T-10824 [BUG] 타이머 실행 전 출석하기 진입 시 무한로딩 이슈 (unlink task)

💡Tip: Add "Close T-10824" to the pull request title or description, to a commit message, or in a comment to mark this task as "Done" when the pull request is merged.

@pull-request-size pull-request-size bot added size/S and removed size/XS labels Apr 5, 2024
Copy link
Member

@lsj8706 lsj8706 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍🏼

@ffalswo2 ffalswo2 merged commit 00f67cc into sopt-makers:develop Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Fix 문제 해결, 코드 수정 size/S 민재 🦁
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Fix] 출석 체크 무한 로딩 이슈 해결 로직 수정
2 participants