nodejs에서 크롤링 데이터 db에 저장하고싶은데 잘 안되네;; (node랑 postgres 쓰는중)
main.js에서 크롤링한 데이터를 pgdb.js에서 받아서 db에 바로 insert하고 싶은데 이게 크롤링되기전에 데이터를 먼저 넣어서 계속 빈객체가 들어가네;;
이거 어떻게 해결해야됨??
정리하면 맨 처음에 pgdb.js에서 require(./main.js) 할때 이 문장 실행이 완료되기 전에 밑에 코드로 안넘어가게 하려면 어떻게해야됨??
then, await
const data = require('./data.js) 이렇게 있을때 async await를 어떻게 써야됨??
async const data = function() { await require('./data.js) } 이러면 되려나
걍 애초에 니가 data.js를 잘못짯다. 걍 data.js를 실행시키고 그 밑에 코드를 넣어봐라. 젤간단하다.
그래도 똑같이 data는 빈객체로 실행되지;;
로딩동기화 선후관계가 문제면 pgdb.js에 mail.js를 함수화해서 require하고 main.js 콜백오면 집어넣으면 돼.
data를 promise형으로 만들러면 pgdb.js의 module export 함수의 argument형에 callback인자 추가해주고 main에서 그냥 부른 후 await으로 부르면 되고.
함수화해도 안되서 promise형으로 받았는데 이건 객체로 우째 바꿈?? resolve해도 계속 promise pending 상태네;;
resolve를 function으로 받으면 argument로 받아옴.