본문 바로가기

개발/개발의 ㄱ

[NestJS] 사용할 메소드가 Promise인지?

반응형

객체 지향의 클래스, 함수형의 순수함수.

모두 사용할 함수/객체의 특징을 자세히 알기보단, 어림잡아 개발하는 뉘양스를 품고 있는거 같다.

 

// ioc 없다 가정
class TestClass{
    constructor(){
        this.service = new TestClass2()
    }
    method1(){
        this.service.method2()
    }
}


class TestClass2{
    async method2(){
        console.log(“hi")
    }
}

위 예시에서 method1 작성시, TestClass2.method2의 특성을 다 알아야할까?

뭐 알면 좋지만, 대규모 프로젝트를 진행한다 가정했을때 사용할 메소드(함수)를 자세히 알고 개발하기 어렵다.

어렵다보단, 상위 단위로 사고한다는 관점으로 부적합하다.

 

그래서 NestJs 개발시 위 예시에서 method2가 Promise인지 아닌지 알고싶었다.

왜냐하면, method2가 Promise인데 throw를 해버리면..... 서버가 뻗으니...

 

 

결론은 없다.

자바스크립트 런타임시 정적 유형 검사만 하므로, 메소드가 어떤 형태인지 확인할수 없다고 한다.

*tsconfig.json에 strict: true 추가도 해봤다.

 

 

만약 방법을 안다면, 댓글 부탁드립니다.

이상입니다.

 

 

*코드가 깨지면 아래 링크를 참조해주세요

https://medium.com/%EB%8F%84%EA%B9%A8%EB%B9%84-%EC%9D%B4%EC%95%BC%EA%B8%B0/nestjs-%EC%82%AC%EC%9A%A9%ED%95%A0-%EB%A9%94%EC%86%8C%EB%93%9C%EA%B0%80-promise%EC%9D%B8%EC%A7%80-d70d606e1fc8