HttpClient:当api什么都不返回时做某事

时间:2017-08-13 17:49:43

标签: angular

在调用post()之后,我想要做一些事情(这里调用url / getEmployees),如果我的api返回它工作正常的东西,但是如果我的api没有返回什么,则不会触发navigate()。 我的问题: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));
}

1 个答案:

答案 0 :(得分:0)

看看订阅API enter image description here

这告诉你订阅有3个部分.. 下一个: 错误: 完成://又名终于

因此,如果您想要导航而不考虑错误......

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