Angular 取消订阅API-REST

Angular 取消订阅API-REST,angular,rest,http,ionic-framework,primeng,Angular,Rest,Http,Ionic Framework,Primeng,当我调用Web服务时,通过自动完成。例如,我将写“VEHICLE”一词,当我开始键入时,它将发送一个服务,以获取名称中启动/具有“VE”的所有对象。这比“VEHICLE”要花更多的时间,所以当我结束输入单词时,它会显示车辆,但之后会显示所有以“VE”开头的对象,因为它仍在加载。我想知道如何取消上一个电话 filterEntidadesRequisitantes(event) { this.api.getEntidadeRequisitante(event.query).subscribe

当我调用Web服务时,通过自动完成。例如,我将写“VEHICLE”一词,当我开始键入时,它将发送一个服务,以获取名称中启动/具有“VE”的所有对象。这比“VEHICLE”要花更多的时间,所以当我结束输入单词时,它会显示车辆,但之后会显示所有以“VE”开头的对象,因为它仍在加载。我想知道如何取消上一个电话

filterEntidadesRequisitantes(event) {
    this.api.getEntidadeRequisitante(event.query).subscribe(data => {
        this.entidadesRequisitantes = new Array<EntidadeList>();
        this.entidadesRequisitantes = data.entidadeList;
    },
    error => {
        console.log("error: " + error);
    });
};
filterentidadesrequisitates(事件){
this.api.getEntidaderequisitate(event.query).subscribe(数据=>{
this.entidadesRequisitantes=新数组();
this.entidadesRequisitantes=data.entidadeList;
},
错误=>{
日志(“错误:+错误”);
});
};
这就是我调用服务的方法

更新**
我和我的其他过滤器混淆了。其中,我没有将数据传递给数组,而是将其传递给JSON,{},并且不会在每次调用该方法时清除它。对不起,耽误了你的时间。无论如何,谢谢。

在发送请求之前,只需将数组清空即可

filterEntidadesRequisitantes(event){


 this.entidadesRequisitantes = new Array<EntidadeList>();

 this.api.getEntidadeRequisitante(event.query).subscribe(data=>{
  this.entidadesRequisitantes = data.entidadeList;
 },
 error=>{
  console.log("error: " + error)
 });
};
filterentidadesrequisitates(事件){
this.entidadesRequisitantes=新数组();
this.api.getEntidaderequisitate(event.query).subscribe(数据=>{
this.entidadesRequisitantes=data.entidadeList;
},
错误=>{
log(“错误:”+错误)
});
};
  • 申报物业认购:

      public subscription:any;
    
  • 修改您的代码,如下所示:

      filterEntidadesRequisitantes(event){
       this.entidadesRequisitantes = new Array<EntidadeList>();
    
       this.subscription = this.api.getEntidadeRequisitante(event.query).subscribe(data=>{
        this.entidadesRequisitantes = data.entidadeList;
       },
       error=>{
        console.log("error: " + error)
       });
    };
    

如果我通过调用api服务使数组为空,它甚至不会加载。正在使用来自启动的自动完成组件。我不确定启动自动完成。如果我使用rxjs以简单的步骤共享一个自定义的自动完成代码,可以吗?@KarthickManoharan请随意共享!我们的选择越多越好!我发现一篇文章对它的描述更好
ngOnDestroy() {
  this.subscription.unsubscribe();
}