Open chemica1 opened 5 years ago
Can I use an await variable inside a non async function? 답 : No, if I want to use await the function has to be async
_getMovies = async()=>{
const movies = await this._callApi() //this._callApi함수 작업이 끝나길 기다렸다가 movies변수에 집어넣는거임
this.setState({
movieInfo : movies //state에 movieInfo가 없어도 알아서 만들어주네
})
}
async는 이전 라인의 작업이 끝날떄까지 기다리지 않고 순서와 상관없이 진행됩니다. await는 call api 기능이 끝나는 것을 기다립니다.(성공 여부와 상관없이) 참고로 화살표 표시(=>, arrow function)는 return이 내장되어 있기 떄문에 return을 따로 작성할 필요가 없습니다. id를 사용하는 이유는 컴포넌트의 key는 인덱스를 사용하면 느리기 때문입니다. 또한 componentDidMount에 많은 코드를 가지고 있는 것은 좋지 않습니다. 그래서 함수별로 정리한 뒤 넣으셨습니다. 그렇게 하면 기능별로 넣을 수 있고 당연히 수정이 용이하기 때문입니다.