약속, Angular2 및 범위

LDJ

외부 서비스에서 ID를 가져와야하는 Angular2 구성 요소가 있습니다. 이 서비스는 프라 미스를 반환하므로 계속하기 전에 데이터를 다시 가져 오려면 프라 미스를 기다려야합니다. 구성 요소는 다음과 같습니다.

export class AddTodoComponent implements OnInit {
    public todo:TodoItem;
    constructor(private todoService: TodoService,
                private router: Router) {
        this.todo = new TodoItem();
     }


    saveItem(){
        this.todoService.getItems().then(t=>{
            this.todo.item.id = t.length;
            this.todoService.addItem(this.todo);
        });

    }
}

그러나 saveItem 함수가 실행되면 다음과 같이 콘솔에 오류가 발생합니다.

예외 : 오류 : 포착되지 않음 (약속에서) : TypeError : 정의되지 않은 속성 'id'를 설정할 수 없습니다.

서비스는 Promise.resolve(data)필요한 항목과 함께 a 를 반환하고 예상대로 데이터를 반환하는지 확인했습니다. 그러나 이제는 promise 의 ' thennable ' 내부에서 더 이상 액세스 할 수없는 것 this.todo같습니다. 왜냐하면 이것이 이제 클래스가 아닌 promise를 참조하기 때문입니다.

이 문제를 해결하는 올바른 / 선호하는 방법은 무엇입니까?

GregL

문제는의 값과 관련이 없습니다. "뚱뚱한 화살표"함수 ( )를 사용 this하기 때문에 여전히 AddTodoComponent클래스 인스턴스를 참조합니다 =>.

대신 문제는의 item속성 이 없다는 것이므로을 this.todo설정할 수 없습니다 this.todo.item.id.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Google지도 및 angular2의 범위 문제?

분류에서Dev

Angular API 호출 및 약속

분류에서Dev

종속 이름 및 범위

분류에서Dev

Angular2 동기 약속

분류에서Dev

Angular2 : 약속 반환

분류에서Dev

약속 Angular2로 @Input

분류에서Dev

Angular2 :: NgFor :: 약속

분류에서Dev

Angular routeProvider 및 전달 범위

분류에서Dev

자바 스크립트의 어휘 범위, 가변 수명 및 약속

분류에서Dev

Javascript 및 Angular의 약속 연결

분류에서Dev

Angular 1 $ scope 및 ES6 약속

분류에서Dev

Angular 및 RXJS 약속의 오류

분류에서Dev

이산 스케일을위한 ggplot2 연속 색상 및 범례 삭제

분류에서Dev

angular2 보간 및 요소 (속성 대 속성)

분류에서Dev

Angular2의 모범 사례 및 키워드 이해?

분류에서Dev

Python 및 범위

분류에서Dev

WKPickerItems 및 범위

분류에서Dev

Cloudinary 및 Angular2

분류에서Dev

Android의 Dagger2 범위 및 RepositoryPattern

분류에서Dev

약속 콜백의 AngularJS 범위 지정

분류에서Dev

AngularJS 약속의 가변 범위 문제

분류에서Dev

For 루프 및 약속

분류에서Dev

Angular2 Tour of Heroes-Hero.ts 속성 및 중첩 된 개체

분류에서Dev

angular2 및 typescript 속성을 찾을 수 없습니다.

분류에서Dev

Angular2 및 사전 선택을위한 DevExpress의 DevExtreme

분류에서Dev

Angular 2 구성 요소 변수 범위 및 참조

분류에서Dev

범위 요약 및 n ()에 대한 올바른 구문

분류에서Dev

약속 및 스파이를 사용한 단위 테스트

분류에서Dev

Angular 약속