конвейер gstreamer для потоковой передачи мультиплексированного h.264 и звука aac между двумя Raspberry Pi

Как отмечали многие люди в потоке, только потому, что запрос прерывается на стороне клиента, сервер все равно обработает запрос. Это создает ненужную нагрузку на сервер, потому что он выполняет работу, которую мы перестали слушать в интерфейсе.

Проблема, которую я пыталась решить (что другие могут запустить в нее), заключается в том, что когда пользователь вводил информацию в поле ввода, я хотел отменить запрос о типе ощущения Google Instant.

Чтобы избежать стрельбы ненужными запросами и поддерживать привязанность внешнего интерфейса, я сделал следующее:

var xhrQueue = [];
var xhrCount = 0;

$('#search_q').keyup(function(){

    xhrQueue.push(xhrCount);

    setTimeout(function(){

        xhrCount = ++xhrCount;

        if (xhrCount === xhrQueue.length) {
            // Fire Your XHR //
        }

    }, 150);

});

Это по существу отправит один запрос каждые 150 мс (переменную, которую вы можете настроить для своих нужд). Если у вас возникли проблемы с пониманием того, что именно происходит здесь, запишите xhrCount и xhrQueue на консоли непосредственно перед блоком if.

0
задан AA-Bill 25 February 2015 в 21:32
поделиться