Aurelia获取客户端 - 拦截停止链

时间:2016-09-28 20:49:57

标签: aurelia aurelia-fetch-client

我在main.js中的全局配置:

http.configure(config => {
    config
      .withInterceptor({
        response(response) {
          if (response.status === 500) {
            toastr.error('Contact the tech guys.', 'Something has gone wrong!');
            throw response;
          }

          return response;
        }
      })
      .useStandardConfiguration()
      .withBaseUrl('api/blah/blah');

在我的视图模型中,使用http.fetch()后我也有更多处理。这适用于使用我的验证器在字段上连接错误消息等等。

this.http.fetch('some/route',
      {
        method: 'put',
        body: json({some: 'data'})
      })
      .then(response => response.json())
      .then(data => {
        this.otherService.doSomeStuff(data);
      })
      .catch((response) => {
        if(response.status !== 500)
          response.json()
            .then(failures => {
              this.validator.handle(failures);
            });
      });

但是,我真的不想在我的拦截器中throw response;(我现在正在这样做,因为null被传递了),而且,我不想做response.status !== 500 1}}签入每个视图模型。

有没有办法用拦截器完全阻止链?

0 个答案:

没有答案