2017-08-13 20 views
1

post()を呼び出した後、私のapiが何かを返すなら、何か(ここではurl/getEmployeesを呼び出します)をしたいと思います。 navigate()は起動されません。 私の質問:APIが何も返されないときに何かしていますか?HttpClient:apiが何も返さないときに何かをする

EmployeeComponent

validateEmployee(id: number) { 
    this.employeeService.addEmployee(this.employee). 
     subscribe(() => this.router.navigate(['/getEmployees'])), 
     error => { 
     this.error = error.message; 
     }; 
    } 
} 

EmployeeService

addEmployee(employee: Employee): Observable<any>{ 
    return this.httpClient.post(this.employeeSrvUrl + 'addEmployee', JSON.stringify(employee)); 
} 
+0

は、あなたのサーバー側のコードを共有することはできますか? – Sal

答えて

0

購読に3部があることを伝えるだ購読API enter image description here

を見てみましょう。.. 次: エラー: 完了://最後に

あなたは関係なく、エラーのナビゲートしたいのであれば...

validateEmployee(id: number) { 
    this.employeeService.addEmployee(this.employee). 
     subscribe(()  => { console.log('success') }, 
       (error) => { this.error = error.message }, 
       ()  => { this.router.navigate(['/getEmployees']) } 
       ); 
} 
+0

私は彼が最終的なことについては話していないと思うが、返されるデータがnullのようなものではない場合、その場合は 'if case'で十分だろうか? –

+0

@RahulSingh opからの引用:「私のapiが何も返さない場合、navigate()は起動されません」 – JGFMK

+0

yaその場合それは私もnullかもしれませんが、私もちょっと見落としてしまいました。仕事かどうか? –

関連する問題