Corrige a função sendo chamada duas vezes ao redimensionar a janela

Ao usar certos navegadores, redimensionar a janela do navegador chama a função associada a esse evento duas vezes. Aqui está uma solução simples para chamar a função apenas uma vez.

A ideia básica é definir um tempo limite para chamar a função após um certo tempo (meio segundo aqui, depende da velocidade de execução do navegador) e, então, quando a mesma função for chamada pela segunda vez pelo navegador, ele limpará o chamada de função conforme descrito acima. Mas, ao mesmo tempo, definirá um tempo limite para chamar a mesma função novamente e, portanto, a função será executada apenas uma vez .

var timeoutId;
window
.onresize = function(){
window
.clearTimeout(timeoutId);
//call the function after half second
timeoutId
= window.setTimeout(doSomething, 500);
}

function doSomething(){
console
.log("You should see this once.");
//do something here
}