비동기 Task에서 딜레이를 주려면 어떻게 해야 할까요?
우리가 항상 먹던 방식인 GCD나 Thread sleep을 이용해서 처리하는것 외에 잘 구현되어 있더라구요!
만약 시스템의 Thread sleep으로 한다면 해당 컨텍스트는 블로킹이라 동시에 다른 동작의 실행을 막죠.
그렇지만 Task의 sleep 즉, 지연 방식은 논-블로킹하기에 동시에 다른 Task의 실행도 가능합니다.
이 장점을 활용해 데이터를 로드하는 동안 어느정도 딜레이 시간을 주며 해당 시간 이후 로딩 인디케이터를 띄워주는 동작도 가능하죠.
동시에 로드 되는 동안 어떤 다운로드 작업을 같이 진행하며 다운로드 완료 후 로딩 관련 Task를 cancel 시켜줌으로 효과적으로 Task 제어에도 용이합니다👍