以下は私のコードです:コードの行は指定された時間後に実行されると思っていますが、タイムアウト前にそれらを実行します。指定されたsetTimeoutの前にコードが実行される
実行前に指定された時間待機する方法を教えてください。
var timeout;
$('body').on('input', '.set_price', function() {
if(timeout) {
clearTimeout(timeout);
timeout = null;
}
var dInput = this.value;
var id = $(this).attr("data-id");
timeout = setTimeout(2000)
//after 2sec starts
$(this).attr("data-price",dInput);
shoppingCart.setPriceForItem(dInput,id);
displayCart();
//after 2sec ends
});
私は無駄にこのようなタイムアウトのコールバックを作ってみました:
timeout = setTimeout(2000,funciton(){
//after 2sec starts
$(this).attr("data-price",dInput);
shoppingCart.setPriceForItem(dInput,id);
displayCart();
//after 2sec ends
});
['setTimeout'](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout) – Rayon