2017-08-30 50 views
0

在angular4中,类型订阅中不存在捕获。类型订阅中不存在捕获

this.route.parent.params.subscribe(
 
     params => { 
 
     const etc = this.service.getEtc() 
 
     Observable.blah.subscribe(results => { 
 
      this.abc = false 
 
     }) 
 
      .catch(err => { 
 
      this.service.showErrorAlert('can not find'); 
 
      }) 
 
    });

+0

方法的返回订阅()不是一个可观察......这是一个订阅对象,与像处置方法() –

+0

@JoaozitoPolo只是想知道如果你有任何想法如何消除这个错误。 –

+0

你使用rxjs吗?尝试导入catch运算符'import'rxjs/add/operator/catch';' – mchan

回答

3

subscribe方法返回订阅的评论中提到,通常应该在你的链中的最后一次通话。请尝试:

Observable.blah 
    .catch(err => this.service.showErrorAlert('can not find')) 
    .subscribe(results => this.abc = false) 
3

您正试图呼叫您的订阅。这是不可能的。你有两个选择:

1:

Observable.blah 
    .catch(err => {...}) 
    .subscribe(results => { 
     this.abc = false 
    }) 

2:

Observable.blah 
    .subscribe(results => { 
     this.abc = false 
    }, 
    err => { 
     ... 
    }) 
相关问题