강의 정리 시작..!
강의 수강, 미니 게임 천국, TS 리뷰 등등..
모듈로 선언한 파일에서 fetch된 데이터를 return하는 경우 data 객체가 아닌 Promise < pending > 이 출력되는 현상이 있었다.
스택 오버플로우에는 선배 개발자들의 발자취가 엄청나게 많다.
https://stackoverflow.com/questions/38884522/why-is-my-asynchronous-function-returning-promise-pending-instead-of-a-val물론 벨로그에도 그렇다
https://velog.io/@sarifor/0010
간단하게 블로그에서 원인을 인용하자면, async가 붙은 함수는, return 값이 Promise가 아니더라도 Promise화 해준다.
가 원인이였다. 즉 아직 처리중인, Pending 중인 값을 가져오게 되는 문제가 있었다.
따라서 불러올때도 처리가 다 완료된 값을 가져와야 하므로 API를 fetch하는 함수 뿐만 아니라, 그 함수를 불러올때도 async await을 통한 비동기 처리를 해주어야했다. 요런식으로 감싸서 해결해줬다.
(async () => {
try {
fetchedData = await getDataFromFireBase();
console.log(fetchedData);
} catch (error) {
console.error(error);
}
})();
때론 오늘 같이 내가 뭘 했지? 기억이 안나는 날이면 크롬의 방문 기능을 이용하도록 하자. 반성 + 회고를 동시에 느낄 수 있다.
지금, 아니 요즘 상태는 인지적 에너지가 많이 떨어졌다. 그래서 그런지 집중을 오래 하기 쉽지 않고 설령 집중을 한다 해도 그 집중의 상태를 오래 유지하지 못하거나 집중 후 더 오랜 기간을 쉬어주어야 한다. 음... 그래서 일단은 내가 하고 싶은 코딩을 하고 있다. 혼자 이것저것 배웠던거 뚝딱뚝딱 만들어보기도 하고(물론 잘 안된다) 오픈소스 라이브러리 유령이 되기도 하고... CS 지식 관련해서 검색 유령이 되기도 한다.
내일은 오프라인.. 기분 전환 잘 하고 오도록!🔥🔥🔥
TIL 작성 소요 시간 약 20분