Olá pessoal, tenho um código legado e quero solicitar a ajuda para recuperar a informação do call back para uma variável. Eu uso o retorno dessa variável verificando o tamanho da lista. Se a lista for zero sei que não retornou nenhum código do back end. A questão é que por vezes esse valor vem undefined. Pelo já pesquisei deveria recuperar por meio de um observable, mas não consegui associar a aplicação no meu código, por exemplo minha variável código lista deveria ser um observable ?, se puder me dar um exemplo desde já agradeço.
codigoLista?: any[] = [];
getValoresCombo(codigo: string) {
let aplicacaoForm = this.formBuilder.group({
empresa: this.user.codigoEmpresaClientepartnerCompanyCode,
cod: codigo
});
if (aplicacaoForm.valid) {
// Trecho que recupera a lista de código pelo subscribe
this.produtoService.getComboCodigoLista(aplicacaoForm.value).subscribe(res => {
if (res.success) {
this.codigoLista = res.data;
this.productForm.get('codigo').enable();
} else {
this.codigoLista = [];
this.productForm.patchValue({
codigo: ''
});
if (res.errorCode === "1") {
console.log("Erro no BackEnd");
}
this.message = res.message;
console.log(this.message);
};
}, error => {
this.codigoLista = [];
this.errorService.catchError(error);
});
} else {
this.message = "Por favor selecione o codigo.";
$("#info-modal").modal('toggle');
return;
}
}
// método que verifica o retorno da lista do método anterior
verificaSeTemCodigoParaExibir() :Boolean {
console.log("Valor do tamanho da lista retornado:" +this.codigoLista.length)
if (this.codigoLista.length === 0) {
return false;
} else {
return true;
}
}