MySQL과 MySQL2의 차이점은 바로 promise다.
mysql은 콜백 기반이기 때문에 promise를 사용하지 못하고 npm에 있는 promise-mysql 모듈을 따로 설치해서 사용해야 한다. 하지만 mysql2는 promise를 지원하기 때문에 다른 모듈을 설치하지 않고 사용이 가능하다.
promise
- promise로 구현된 비동기 처리 함수는 콜백을 예측 가능한 패턴으로 사용하도록 도와준다. 순차적이지 않은 비동기함수의 실행순서를 제어할 수 있게 도와주고 콜백 패턴에 비해 가독성이 좋고 반환된 결과물을 사용하기 편하게 도와준다.
promise의 세 가지 상태
- pending: new Promise로 Promise가 생성된 직후부터 resolve나 reject가 호출되기 전까지의 순간
- fullfilled: 비동기 처리함수 값이 참이면 resolve 메서드가 호출되고 resolve 메서드의 인자로 설정된 비동기 함수의 결과값이 전달된다.
- rejected: 처리가 실패하거나 오류가 발생한 상태
'CS > 데이터베이스' 카테고리의 다른 글
Ch9. Transaction (0) | 2020.02.02 |
---|---|
Ch8. Indexing (0) | 2020.02.02 |
Ch7. Normalization (0) | 2020.02.02 |
Ch6. Entity-Relationship Model (0) | 2020.01.29 |
Ch5. Advanced SQL (0) | 2020.01.23 |