在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ 購(gòu)物車增刪數(shù)量后什么時(shí)候向后臺(tái)發(fā)送改變后的數(shù)量?

購(gòu)物車增刪數(shù)量后什么時(shí)候向后臺(tái)發(fā)送改變后的數(shù)量?

最近用vue+elementUI做項(xiàng)目,在做購(gòu)物車時(shí)在想,當(dāng)購(gòu)物車?yán)锏臄?shù)量變化時(shí),是怎樣向后臺(tái)發(fā)送的,如果改變一次就發(fā)送一次,這樣肯定不好,然后我去淘寶試了下,當(dāng)我增加后大約一秒后有個(gè)請(qǐng)求(是不是這個(gè)我不知道,我猜是),如果我一直按著他不會(huì)發(fā)送,當(dāng)我停止增加時(shí)他就又會(huì)去發(fā)送了,這個(gè)是怎樣實(shí)現(xiàn)的,或者說(shuō)向后臺(tái)發(fā)送數(shù)量或者之類的請(qǐng)求都是怎樣的流程。求解

回答
編輯回答
厭惡我

按照樓主的描述,“函數(shù)防抖”了解一下。

2017年12月26日 21:21
編輯回答
耍太極

這個(gè)很簡(jiǎn)單
你npm install -S debounce,或者自己寫一個(gè)

function debounce (fn, time) {
    var t;
    return function (ctx) {
        clearTimeout(t)
        t = setTimeout(function() {
            fn.apply(ctx, [].slice.call(arguments,1));
        }, time);
    }
}

function sendAjax () {}

fn = debouncing(sendAjax);
fn(sendData);

但是你為什么不加一個(gè)確定按鈕?

2018年9月13日 07:03
編輯回答
薄荷綠
$(function(){
var time;
$(document).on('click','.inc',function(e){
clearTimeout(time);
time = setTimeout(function(){
//添加到購(gòu)物車的請(qǐng)求
},1000);//延時(shí)一秒

});

});

手機(jī)碼字,沒(méi)有縮進(jìn) 理解一下。^_^
道理很簡(jiǎn)單 先在外部定義一個(gè)變量用來(lái)存儲(chǔ)計(jì)時(shí)器。每次點(diǎn)擊加數(shù)量按鈕時(shí) 先用clearTimeout把存儲(chǔ)的計(jì)時(shí)器釋放掉 ,然后再執(zhí)行setTimeout,一秒后觸發(fā)里面的異步事件。如果在一秒內(nèi)再次點(diǎn)擊了按鈕 那么setTimeout里面的異步內(nèi)容還沒(méi)執(zhí)行又被clear掉了

2017年1月20日 22:16