JavaScript delay

Stel je hebt een onkeydown Event die bij elke toetsaanslag een Ajax Request verstuurd.

Het aantal requests is te reduceren door een timeout in te stellen.

In onderstaand voorbeeld wordt er 1 seconden (1000 ms) gewacht voordat de functie search wordt aangeroepen:

var seconds = 0;

function search_with_delay(){
    if (seconds != 0){
        window.clearTimeout(seconds);
        seconds = 0;
    }
    seconds = window.setTimeout(search, 1000);
}

function search(){
    // todo
}