服务器没有响应时处理错误

时间:2017-05-25 19:48:45

标签: javascript angular

我的应用程序是使用Angular 2构建的。我使用的典型模式如下所示。如果出现服务器错误,我会根据需要做很多事情。在下面的示例中,我使用注释来指示重定向到错误页面。

然而,偶尔会出现问题并且服务器没有响应,导致前端在旋转器旋转时保持挂起状态。我想知道如何处理这种情况。这有一个共同的做法吗?有没有办法以优雅的方式重定向?我觉得我可以在某个时间添加超时触发,但这看起来真的像黑客。

private getSites() {
  this.spinner.show();
  this.sitesService.getSites(1)
    .subscribe(
      _data => {
        this.sites = _data;
        this.spinner.hide();
        this.loading = false;
      },
      _error => {
        // Redirect to < something went wrong >
        this.spinner.hide();
      }
    );

}

1 个答案:

答案 0 :(得分:0)

根据回复,我能够学习各种方法来处理这种情况。我最喜欢的是使用超时运算符。谢谢大家。

private getSites() {
  this.spinner.show();
  this.sitesService.getSites(1)
    .timeout(6000)
    .subscribe(
      _data => {
        this.sites = _data;
        this.spinner.hide();
        this.loading = false;
      },
      _error => {
        // Redirect to < something went wrong >
        this.spinner.hide();
      }
    );

}