看,在我的应用程序中,我具有3个功能:
usuarioExiste()
usuarioExiste(usuario) {
this.http
.get<UsuarioDados>(environment.url + environment.token + "&Metodo=alunoCheckCPF&AlunoCPF=" + usuario.cpf)
.subscribe(response => {
usuario.numero_registros = response.ALUNO_ACADEMIA.Registros;
if(usuario.numero_registros > 0) {
this.receberUsuario(usuario)
} else {
console.log('Não encontrado')
}
})
}
它向服务器发出请求,并检查用户拥有的寄存器数if == 0
,不存在,if == 1
存在,如果存在,则调用函数{{ 1}}
receberUsuario()
receberUsuario()
它向服务器发出请求并接收所有用户数据。
receberUsuario(usuario) {
this.http
.get<UsuarioDados>(environment.url + environment.token + "&Metodo=alunoCheckCPF&AlunoCPF=" + usuario.cpf)
.subscribe(response => {
usuario.nome = response.ALUNO_ACADEMIA.AlunoDados[0].nome_aluno;
usuario.id = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_main;
usuario.id_na_academia = response.ALUNO_ACADEMIA.AlunoDados[0].id_aluno_academia;
usuario.senha = response.ALUNO_ACADEMIA.AlunoDados[0].aluno_senha;
usuario.nome_academia = response.ALUNO_ACADEMIA.AlunoDados[0].academia_nome;
usuario.id_academia = response.ALUNO_ACADEMIA.AlunoDados[0].id_academia;
});
}
senhaExiste()
用户数据到达后,它将检查是否已经注册了密码,senhaExiste(usuario) {
if (usuario.senha == null) {
alert("Has no Password");
} else {
alert("Has Password");
}
}
警报“没有密码” if no
警报“有密码”。
但是问题来了,如果找不到用户,我就运行if yes
是没有道理的,所以,我认为创建第四个函数senhaExiste()
会更好,它将检查如果validar()
返回true或false,如果返回true,即用户存在,则调用usuarioExiste()
,如果返回false,即找不到用户,则不执行任何操作。
但是,当我要验证用户是否存在于senhaExiste()
函数的.subscribe
中时,似乎无法正常工作,我编写了以下代码:
usuarioExiste()
但是我收到错误:
类型'void'的表达式无法进行真实性测试
我尝试将{:{boolean}}放在validar(usuario) {
if(this.usuarioExiste(usuario)) {
this.senhaExiste()
} else {
alert('Erro')
}
}
usuarioExiste(usuario) {
this.http
.get<UsuarioDados>(environment.url + environment.token + "&Metodo=alunoCheckCPF&AlunoCPF=" + usuario.cpf)
.subscribe(response => {
usuario.numero_registros = response.ALUNO_ACADEMIA.Registros;
if(usuario.numero_registros > 0) {
this.receberUsuario(usuario)
return true;
} else {
console.log('Não encontrado')
return false;
}
})
}
前面,例如:usuarioExiste()
,但随后出现了错误:
声明类型为“ void”或“ any”的函数必须返回值。
那么我该如何解决此问题,或者如何更改代码以使我的逻辑起作用?