advanceTimersByTimeAsync는 timer callback을 promise로 실행시키는 것 같음. 때문에 api call 후에 event queue에 들어가니깐 큐에 먼저 들어간 API call이 실행되고 response가 받아지기 때문에 timer callback에서 response를 찾을 수 있음

advanceTimersByTime는 event queue에 들어간 API call이 response를 주기전에 (event queue에 태스크가 실행되기 전에) setInterval에 들어간 callback들을 동기적으로 실행되기 때문에 api response가 오기전에 setState가 실행된다.