为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

翻过高山走不出你 2019-05-21 15:46:50
在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()手动取消订阅页面会越来越卡,总感觉自己用的不对,请大佬不吝赐教;
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 1307 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号