2017-12-12 6 views
0

사용 "scheduler.schedule는 함수가 아닙니다" 구성 요소에서 (edit.component에서)을 호출 :이 속성 버튼에서 트리거각도 내가 관찰과 문제에 봉착 관찰

onSave() { 
    if (this.validateFormData()) { 
     this.tierService.patchOne(this._item).subscribe(() => { 
     this.appCommunicationService.valid('Success'); 
     }, (error: any) => { 
     this.appCommunicationService.error(error.message); 
     }); 
    } else { 
     this.appCommunicationService.info('Fail'); 
    } 
    } 

(ViewComponent.html) :

,
(click)="component.onSave()" 
내가 클릭 uppon이 오류에 봉착

:

ERROR TypeError: scheduler.schedule is not a function 
    at ErrorObservable.webpackJsonp.../../../../rxjs/observable/ErrorObservable.js.ErrorObservable._subscribe (ErrorObservable.js:72) 
[...] 
webpackJsonp.../../../../../src/app/components/edit/edit.component.ts.EditTiersComponent.onSave @ edit.component.ts:99 
(anonymous) @ ViewComponent.html:14 

어떤 생각을?

.catch((error: any) => Observable.throw('patchOne - ', error.json().errorMessage || 'Server error')); 

Observable.throw는 다음 서명이 : 당신이 볼 수 있듯이

public static throw(error: any, scheduler: Scheduler): Observable 

가, 제 2 매개 변수는 scheduler 당신이이 라인에 오류가 같은

답변

2

보인다. 코드에서이 두 번째 매개 변수를 제공하고 있으므로 궁극적으로 RxJs가 문자열 (error.json().errorMessage || 'Server error')에 schedule을 호출하려고합니다.

문자열 연결을 사용하려면 오류 메시지를 업데이트해야합니다. 예컨대 :

'patchOne - ' + (error.json().errorMessage || 'Server error')) 

아니면 사용하여 문자열 보간 :

`patchOne - ${(error.json().errorMessage || 'Server error')}`