설 연수
하하호홓
설 연수
전체 방문자
오늘
어제
  • 분류 전체보기 (231)
    • Back-End (2)
      • Java (20)
      • JSP (13)
      • Spring (18)
      • Kotlin (0)
      • node.js (0)
    • Front-End (68)
      • JavaScript (19)
      • jQuery (39)
      • Angular (4)
      • HTML (5)
    • Dev-Ops (12)
      • Linux, Cloud (5)
      • docker, k8s (5)
      • ElasticSeach (2)
    • Other (33)
      • OOP (3)
      • 알고리즘 (2)
      • DB (12)
      • Git (1)
      • Swift (4)
    • Backup (65)

블로그 메뉴

    공지사항

    인기 글

    태그

    • angular callback
    • CORS
    • Kafka
    • docker
    • RESTful
    • 404 error
    • 크로스도메인
    • angular 콜백
    • 패스트캠퍼스
    • MYSQL
    • Redis
    • mongodb
    • flex
    • Angular
    • jOOQ
    • jquery invalid
    • page not found
    • angular4
    • angular2
    • INVALID

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    설 연수

    하하호홓

    Front-End/Angular

    [Angular] 콜백function안에서 다른 function호출시 에러발생할때

    2018. 2. 19. 13:34

    setTimeout함수를 예시로 사용했다.


    일반함수(function)는 this가 바인딩되기때문에 5,6Line의 getApprovalDetail() 호출시 에러가 발생함. 

    (ERROR TypeError: this.getApprovalDetail is not a function)


    화살표함수(Arrow Function)사용시 this가 바인딩안되서, this.getApprovalDetail()이 정상적 호출되는것을 확인 할 수 있음.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    // 에러발생 예제
    getApproval(){
        setTimeout(function(){
            try{
                // getApprovalDetail(); // 에러발생
                this.getApprovalDetail(); // 에러발생
            }catch(e){
                alert("에러발생 : " + e);
            }
        }, 500);
    }
     
    getApprovalDetail(){
        alert("getApprovalDetail() 호출!!");
    }
     
    //=====================================================
    // 화살표 함수(Arrow Functions) 사용예제
    getApproval(){
        setTimeout(()=>{
             this.getApprovalDetail(); // 호출됨
        }, 500);
    }
     
    getApprovalDetail(){
        alert("getApprovalDetail() 호출!!");
    }
    Colored by Color Scripter
    cs

    개발하기전에 블로그를 읽어봤음에도 까먹고있다가 헤멨닼ㅋ

    깨우치고나서 다시 읽어보니 해당내용이 있었다.

    Javascript - 화살표 함수(Arrow Functions) : https://www.a-mean-blog.com/ko/blog/%ED%86%A0%EB%A7%89%EA%B8%80/_/Javascript-%ED%99%94%EC%82%B4%ED%91%9C-%ED%95%A8%EC%88%98-Arrow-Functions


    저작자표시 (새창열림)

    'Front-End > Angular' 카테고리의 다른 글

    angular 기초정리  (0) 2018.02.19
    [Tomcat]Angular App URL접근이나 새로고침 시 404에러 뜰때.  (0) 2018.02.07
    [Angular] Error: Cannot find module '@angular-devkit/core'에러  (0) 2018.02.03
      'Front-End/Angular' 카테고리의 다른 글
      • angular 기초정리
      • [Tomcat]Angular App URL접근이나 새로고침 시 404에러 뜰때.
      • [Angular] Error: Cannot find module '@angular-devkit/core'에러
      설 연수
      설 연수

      티스토리툴바