Thenable
- then 메서드를 가진 객체
- 이 then 메서드는, Promise 의 then 메서드와 유사한 방식으로 동작해야함
- 요건, Promise 이전에 존재했던 여러 비동기 라이브러리들과의 호환성을 위해 도입되었다.
- 특정한 개념이라기보다는 그냥 then 메서드를 가진 객체
- Duck Typing
- then 메서드가 있으면 그것은 thenable 이다.
const thenable = {
then: function(resolve, reject) {
// 비동기 로직
}
};
Promise 와의 관계
- Promise 시스템은 Thenable 객체를 자동으로 인식하고 Promise 로 변환할 수 있다.
- 이를 통해 Promise 가 아닌 객체도 Promise 처럼 사용 할 수 있다.