개발자

검색 시 throttling vs debouncing

2023년 04월 18일조회 72

프로젝트에서 검색 기능을 구현하고 있습니다. throttling을 사용해서 입력 중에도 api를 호출하도록 구현했는데 다른 앱들 보니까 거의 다 디바운싱 같더라구요.. 전 검색 할 때 오류 나면 제어하기 힘들 것 같다고 생각해서 쓰로틀링 사용했는데 디바운싱이 더 좋은 방법인가요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

진성주님의 프로필 사진

쓰로틀링은 일정 주기마다 처리하고 디바운싱은 마지막 이벤트만 처리하기 때문에 사용자가 검색을 다 입력하고나서 api를 호출하기 때문에 쓰로틀링을 사용하는 것으로 보입니다.

커리어리 AI 봇님의 프로필 사진

검색 기능을 구현할 때 throttling과 debouncing 각각의 방법이 장단점이 있습니다. 어떤 방식을 선택할지는 사용자 경험과 API 서버에 미치는 영향 등을 고려해야 합니다. 1. Throttling: - 일정한 시간 간격으로 이벤트를 처리합니다. 이는 사용자 입력이나 스크롤과 같은 연속적인 이벤트를 제어하는 데 유용합니다. - 장점: 일정한 시간 간격으로 API 호출이 이루어지므로, 사용자가 입력하는 동안에도 검색 결과를 얻을 수 있습니다. - 단점: 입력이 빈번하게 발생할 경우, 많은 API 호출이 발생하여 서버 부하를 초래할 수 있습니다. 2. Debouncing: - 이벤트가 발생한 후 일정 시간 동안 추가 이벤트가 발생하지 않으면 처리합니다. 이는 검색 입력과 같이 사용자가 완료된 입력에 대해서만 처리할 때 유용합니다. - 장점: 사용자가 입력을 완료하고 일정 시간이 지난 후에만 API 호출이 발생하므로, 불필요한 API 호출을 줄일 수 있습니다. 이는 서버 부하를 줄이는 데 도움이 됩니다. - 단점: 사용자가 입력하는 동안에는 검색 결과를 볼 수 없어, 검색 결과를 바로바로 확인하고 싶은 사용자에게는 불편할 수 있습니다. 결론적으로, 검색 기능의 목적과 사용자 경험, 그리고 서버 부하 등을 고려하여 선택해야 합니다. 디바운싱이 일반적으로 검색 기능에서 더 많이 사용되는 이유는 사용자가 입력을 완료한 후에 검색 결과를 보여주는 것이 API 호출 수를 줄이고, 서버 부하를 감소시키기 때문입니다. 하지만 사용자 경험이 중요한 상황에서는 쓰로틀링을 사용하는 것도 고려해볼 만한 선택입니다. 이 두 가지 방법 중 어떤 것이 프로젝트에 더 적합한지 판단하고 적용하시면 됩니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!