老師,做類似這樣交互效果,需要做防抖處理嗎?
請(qǐng)問(wèn)老師,touchmove事件持續(xù)觸發(fā),回調(diào)函數(shù)就會(huì)一直執(zhí)行,里面的運(yùn)算邏輯與dom操作也一直在執(zhí)行,會(huì)不會(huì)消耗太多的性能,需不需要做防抖處理?做了防抖處理,可能會(huì)提高一些性能,但是對(duì)于一些臨界點(diǎn)的判斷又不夠敏感了。老師有沒(méi)有好的解決方案?感謝老師
請(qǐng)問(wèn)老師,touchmove事件持續(xù)觸發(fā),回調(diào)函數(shù)就會(huì)一直執(zhí)行,里面的運(yùn)算邏輯與dom操作也一直在執(zhí)行,會(huì)不會(huì)消耗太多的性能,需不需要做防抖處理?做了防抖處理,可能會(huì)提高一些性能,但是對(duì)于一些臨界點(diǎn)的判斷又不夠敏感了。老師有沒(méi)有好的解決方案?感謝老師
舉報(bào)
2023-06-10
視情況而定,針對(duì)本課程實(shí)現(xiàn)的兩種交互效果是不需要添加節(jié)流和防抖處理的(亦不適合),具體原因如下:
????1、于交互效果而言,判斷是否需要節(jié)流和防抖處理需要看該交互效果是立即觸發(fā)型還是需要一定操作才可觸發(fā)的類型,如果是立即觸發(fā)型的交互效果可以考慮添加節(jié)流處理防止重復(fù)觸發(fā)。
????2、本課程針對(duì)交互效果的加載過(guò)程中這一狀態(tài)都做了處理(加載鎖、狀態(tài)判斷),這樣做的好處是可以直到加載完成再允許下一次觸發(fā),而不用像節(jié)流一樣等某個(gè)特定時(shí)間之后才再次觸發(fā)(如果這樣的話或?qū)е潞芏嗖淮_定性,比如還沒(méi)加載完又可以觸發(fā)了,或加載完了還不能觸發(fā),故節(jié)流不適用與這兩種交互效果),所以這兩個(gè)交互效果的方法是不能重復(fù)觸發(fā)的,也不需要做節(jié)流和防抖處理。
往往有以下場(chǎng)景需要節(jié)流/防抖處理:
節(jié)流:點(diǎn)擊按鈕后發(fā)起請(qǐng)求(防止發(fā)起多次請(qǐng)求)、表單提交、點(diǎn)擊后立即開(kāi)始動(dòng)畫(防止多次觸發(fā)播放)等...
防抖:搜索建議(根據(jù)輸入內(nèi)容實(shí)時(shí)展示搜索建議,防止建議內(nèi)容頻繁改變)等...
類似的場(chǎng)景還有很多,這里不一一列舉了,老師也正在準(zhǔn)備一門針對(duì)特定場(chǎng)景的解決方案的課程,如果有興趣的話可以期待一下,還有什么不懂的問(wèn)題可以繼續(xù)聯(lián)系我。