es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cancelando la solicitud entrante con un botón.

Cuando cambio a un menú, obtengo datos de la API. Mientras estos datos aún se están escribiendo en DevTools, presiono el botón de filtro y busco otros datos. Los datos que busco aparecen en mi tabla. Pero cuando llegan los datos pendientes, los datos que busco desaparecen.

Línea de comando donde obtengo los datos

protected loadData = (params) => {
$.ajax({
method: ‘GET’,
url: this.tableUrl,
data: params.data,
beforeSend: (request) => {
request.setRequestHeader(‘Authorization’, Bearer ${this.authService.getToken()});
}
}).done((response) => {
params.success(response);
});
}

Las solicitudes que recibí anteriormente. La solicitud superior tarda unos 40 segundos. La inferior tarda 1 segundo. Obtiene los datos en 1 segundo. Dado que la otra solicitud tarda 40 segundos, se agregan otros datos encima de los datos que se recibieron en 1 segundo después de 39 segundos. Necesito cancelar las solicitudes que dicen “referenceTumList?PageIndex=0&PageSize=10” mientras estoy filtrando.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Línea de comando para cancelar solicitudes:

    protegido cancelRequest = (params) => {
        si (this.xhr) {
            this.xhr.abortar();
        }
        this.xhr = $.ajax({
            método: 'GET',
            url: this.tableUrl,
            datos: params.data,
            beforeSend: (solicitud) => {
                solicitud.setRequestHeader('Autorización', `Bearer ${this.authService.getToken()}`);
            }
        }).hecho((respuesta) => {
            params.success(respuesta);
        });
    }
    

Comments are closed.