Angular4中使用rxjs, http请求多次发送

在Angular4.x中使用Rxjs请求数据,发现多次请求会造成n+1次请求次数,极大地影响性能,目前只能采用最笨拙的依次声明对应Subscription对象一一手动取消订阅,感觉不是正常办法,想请教更好的解决方式,示例代码如下:
service:
getRuleHitList():any{
constformData={
'uuid':this.orderNo
};
this.$http
.post(this.HOST.host+'/api/bqsBlackList',formData)
.subscribe(res=>{
console.log(res);
this.RuleHitSubject.next(res);
})
}
component:
ruleSubscription:Subscription;
getRule(){
this.service.getRuleHitList();
this.ruleSubscription=this.service.RuleHitSubject.subscribe(res=>{
if(res&&res.code==='0'){
if(res.strategySet||res.Rule){
this.ruleListFlag=true;
this.ruleList=res;
}
}else{
this.ruleListFlag=false;
}
this.ruleSubscription.unsubscribe()
})
上述getRule会在当前页面多次用到,且component不会销毁,因此不加unsubscribe()手动取消订阅页面会越来越卡,总感觉自己用的不对,请大佬不吝赐教;
翻过高山走不出你
浏览 1308回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript