wie cancel/Abbrechen ajax-request in der axios

Benutze ich axios für ajax-Anfragen und reactJS + flux für das Rendern von UI. In meiner app gibt es in der Dritten Seite der timeline (reactJS-Komponente). Timeline können verwaltet werden, durch die die Maus scrollen. App sendet ajax-request für die tatsächlichen Daten nach jedem scroll-Ereignis. Problem, dass die Verarbeitung der Anfrage auf dem server können mehr langsam als nächste scroll-Ereignis. In diesem Fall kann die app über mehrere (2-3 in der Regel) Anforderungen, die bereits veraltet ist, weil der Benutzer blättert. es ist ein problem, weil jedes mal bei Erhalt von neuen Daten, die timeline beginnt neu zeichnen. (Weil es reactJS + flux), Denn dieser sieht der Benutzer die Bewegung der timeline mehrmals hin und her. Der einfachste Weg, um dieses problem zu lösen, es einfach abzubrechen früheren ajax-request wie in jQuery. Zum Beispiel:

    $(document).ready(
    var xhr;

    var fn = function(){
        if(xhr && xhr.readyState != 4){
            xhr.abort();
        }
        xhr = $.ajax({
            url: 'ajax/progress.ftl',
            success: function(data) {
                //do something
            }
        });
    };

    var interval = setInterval(fn, 500);
);

Abbrechen/abort-Anforderungen in axios?

Schreibe einen Kommentar