API请求GET延迟

Ban

看,我做了一个接收用户CPF的代码,然后将其发送到服务器,它检查CPF是否有效,如果有效,则在控制台中打印用户名,如果不是,则打印“ Not Found”,这是代码:

cpf.component.html

<form class="ion-padding-horizontal">

  <ion-list>

    <ion-item>
      <ion-label position="stacked" color="primary">Insira seu CPF</ion-label>
      <ion-input name="cpf" type="text" #cpf></ion-input>
    </ion-item>

    <ion-row class="ion-padding-top">
      <ion-col>
        <ion-button type="button" expand="block" (click)="validarCPF(cpf.value)">
          Login
        </ion-button>
      </ion-col>
    </ion-row>

  </ion-list>

</form>
cpf.component.ts

import { ValidateService } from '../validate.service'

export class CpfComponent implements OnInit {

  constructor(private _validateService: ValidateService) {}

  validarCPF(cpf) {
    this._validateService.validar(cpf)
  }
}
validate.service.ts

import { environment } from '../../../environments/environment'

interface respostaAluno {
  ALUNO_ACADEMIA: any;
}

export class ValidateService {

  constructor(private http: HttpClient) { }

  alunoInfo: any = {
    registros: "",
    idAcademia: "",
    nomeAcademia: "",
    idAluno: "",
    idAlunoAcademia: "",
    nomeAluno: "",
    alunoSenha: ""
  };

  validar(cpf) {

    this.receberAluno(cpf)

    if(this.alunoInfo.registros > 0) {
      console.log(this.alunoInfo.nomeAluno)

    } else {
      console.log("Not Found")
    }
  }

  receberAluno(cpf) {
    this.http
      .get<respostaAluno>( environment.url + environment.token + "&Metodo=alunoCheckCPF&AlunoCPF=" + cpf)
      .subscribe(response => {
        this.alunoInfo.registros = response.ALUNO_ACADEMIA.Registros
        this.alunoInfo.idAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].id_academia
        this.alunoInfo.nomeAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].academia_nome
        this.alunoInfo.idAluno = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_main
        this.alunoInfo.idAlunoAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_academia
        this.alunoInfo.nomeAluno = response.ALUNO_ACADEMIA.AlunoDados[0].nome_aluno
      });
  }
}

但是我在响应延迟方面存在问题。我输入了有效的CPF,应该在控制台中进行打印:

“法拉利亚·桑托斯(Aline Faria Santos)”

但是印

“未找到”

因为函数validatear()接收用户的信息,但是当它运行if()来检查用户是否存在时,注册信息的数量尚未到达要检查的变量,因此当用户不返回时返回给我存在,仅当我第二次单击按钮以打印名称时,该如何解决?
我该如何对已将值分配给变量的函数仅运行IF?请帮我!!

Himanshu Singh

一个简单的解决方案是将以下内容放入其中,

if(this.alunoInfo.registros > 0) {
  console.log(this.alunoInfo.nomeAluno)

} else {
  console.log("Not Found")
}

subscribereceberAluno(cpf)方法。

既然你打了validar(cpf),那确实又打receberAluno(cpf)了。因此,最好receberAluno(cpf)仅在从API接收数据时直接调用和检查数据。如下图所示:

receberAluno(cpf) {
this.http
  .get<respostaAluno>( environment.url + environment.token + "&Metodo=alunoCheckCPF&AlunoCPF=" + cpf)
  .subscribe(response => {
    this.alunoInfo.registros = response.ALUNO_ACADEMIA.Registros
    this.alunoInfo.idAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].id_academia
    this.alunoInfo.nomeAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].academia_nome
    this.alunoInfo.idAluno = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_main
    this.alunoInfo.idAlunoAcademia = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_academia
    this.alunoInfo.nomeAluno = response.ALUNO_ACADEMIA.AlunoDados[0].nome_aluno


    if(this.alunoInfo.registros > 0) {
      console.log(this.alunoInfo.nomeAluno)
    } 
    else 
    {
      console.log("Not Found")
    }
  });
}

cpf.component.ts

这里直接打电话receberAluno(cpf)而不是打电话validar(cpf)

  validarCPF(cpf) {
    this._validateService.receberAluno(cpf)
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

每个API请求之间的延迟

来自分类Dev

解析API GET请求

来自分类Dev

如何避免使用API延迟github拉取请求合并

来自分类Dev

我的API请求很慢-从哪里开始调查造成延迟的原因?

来自分类Dev

如何避免使用API延迟github拉取请求合并

来自分类Dev

使用 Google Maps API 延迟每个请求的 Ajax 函数

来自分类Dev

如何使用延迟的对象在多个$ .get()请求之后执行代码?

来自分类Dev

如何在python中确定GET请求的延迟

来自分类Dev

如何使用延迟的对象在多个$ .get()请求之后执行代码?

来自分类Dev

合格的GET请求github API

来自分类Dev

获取GET请求对API的响应

来自分类Dev

节点 api GET 状态请求

来自分类Dev

如何延迟http请求?

来自分类Dev

延迟下载请求下载

来自分类Dev

如何延迟Ajax请求?

来自分类Dev

延迟网络请求组

来自分类Dev

XMLHTTP 请求的延迟

来自分类Dev

CDON API RESTful Api GET 请求

来自分类Dev

RxAndroid:可以对具有间隔或延迟的api请求数组使用zip函数吗?

来自分类Dev

Google Maps API距离矩阵-延迟请求(客户端)另外100个元素的时间

来自分类Dev

延迟加载来自2个不同服务器GET请求的映射对象

来自分类Dev

如何将Fragment UI创建延迟到服务器的GET请求解决之后?

来自分类Dev

对 WP API 的 POST 请求被解释为 GET 请求

来自分类Dev

重复的http发布请求被延迟

来自分类Dev

延迟的jquery ajax请求的顺序

来自分类Dev

wget中请求之间的延迟

来自分类Dev

处理Ajax请求中的延迟

来自分类Dev

在REST API GET请求中指定参数

来自分类Dev

邮递员对Binance API的GET请求