Closed Diassisfilho closed 8 months ago
Olá, o erro ocorre ao chamar qual função? getLessons ou getAbsence? fiz um teste aqui como eu pude, e não retornou o erro das páginas trocadas
Olá, obrigado por responder. Olhando aqui na arvore de chamada do erro esta que a getAbsence que esta causando o erro. O uso do getLessons não esta dando o erro (apesar de me eu e meu amigo lembrar que dava erro). Agora estou com suspeita que algo que modifiquei para a versão da UNILAB está causando isso.
Problema
No arquivo de exemplo da API no repositorio "get-grades-simultaneously.js" quando é testado funciona perfeitamente. Porém quando é utilizado o recurso
Promise.all
com outras partes da API como pegar as lessons ou absences dos cursos é dado o erro de "API Error: Sigaa: using the old page coused the change to the last accessed course instead of the resquested course". No codigo esse erro ocorre quando uma pagina não é a que foi informada. Em seguida tem um codigo que gera esse erro.Exemplo
Tentei deixar o mais parecido com o exemplo do repositorio para não haver duvidas que é um bug de verdade.
Tentativas e Comportamentos
Este bug ja foi mencionado em um commit que resolvia esses bug. Eu tentei debugar um pouco o código e suspeitei do cache tentei fazer poucas alterações, mas pouco surgiu efeito. No decorator
sharedReturn
a variavel de cache de paginas__sharedReturn...
que fica dentro da instância da API está armazenando somente uma pagina de curso e o resto deundefined
na Map do cache. Não tenho certeza, mas acho que era para ter mais de uma pagina em cache no momento do código que verifiquei. Talvez seja a stack de promises, porém não verifiquei.Parece que qualquer método async que é utilizado dentro da
Promise.all
tirando o método grades da este erro, exceto quando é utilizado somente 2 cursos, porem com 3 ou mais é dado esse erro.