아까랑 비슷한 질문인거 같은데 좀 이해가 안되네요

이런식으로 for문을 다 돌고 found가 false값일때 Log를 찍어주는 방식으로 test를 했습니다.마냐게 찾는다면 found는 true가 되며 또 Log를 찍어줬습니다.코드를 보시면 이해가실겁니다.여기서 결과값을 보면

이런식으로 두개의 Log가 찍힙니다.하나만 찍혀야되는데, 첫번째 사진에서
FBRef.userInfo.addValueEventListener(postListener)
이코드는 postListener를 호출할것이고 그러면 먼저 실행되면서 유저이름을 찾으면 true값이 되어서 그 밑의 코드인
Log.d(TAG,"유저이름 못찾음")
이 로그는 찍히면 안됩니다. 그런데 로그가 찍힙니다.. 왜그런걸까요 순서로 봤을때 먼저 호출하고 그다음에 검사를 하는것인데 왜 false값으로 인식이 되는걸까요 아 그리고 첫번째 사진의 함수는 firebase에 realtime database에서 userNickname값을 가져오는 함수입니다.