2017-08-13 93 views
1

在調用post()之後,我想做一些事情(這裏調用url/getEmployees),如果我的api返回的東西工作正常,但如果我的API沒有返回任何東西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

看看在訂閱API enter image description here

這就是告訴你,有3個部分的認購.. 未來: 錯誤: complete:// aka finally

所以,如果你想瀏覽無關的錯誤...

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沒有返回任何導航()沒有被解僱」 – JGFMK

+0

亞在這種情況下,它可能我空也對不起,我只是忽略了,我很好奇,檢查如果只有一個如果可以做工作與否? –

相關問題