#javascript #stream #xmlhttprequest
#javascript #поток #xmlhttprequest
Вопрос:
Я хочу проверить, содержит ли файл (полученный с помощью XMLHttpRequest) заданную строку. Я не хочу загружать весь файл, потому что он огромный. Как остановить загрузку файла при любом появлении данной строки?
Ответ №1:
Вам нужно использовать потоковую передачу XHR. Примером может быть:
var xhr = new XMLHttpRequest();
xhr.open('GET', '/stream');
xhr.seenBytes = 0;
xhr.onreadystatechange = function() { // 1
if(xhr.readyState > 2) {
var newData = xhr.responseText.substr(xhr.seenBytes); // 2
// process newData
xhr.seenBytes = xhr.responseText.length; // 3
}
};
-
Подписаться на уведомления о состоянии и прогрессе
-
Извлечение новых данных из частичного ответа
-
Обновить обработанное смещение в байтах