您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關vue如何使用setTimeout代替setInterval的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
使用 setTimeout 代替 setInterval
一般情況下我們在項目里不建議使用 setInterval,因為其會存在代碼的執行間隔比預期小以及 “丟幀” 的現象,原因在于其本身的實現邏輯。很多人會認為 setInterval 中第二個時間參數的作用是經過該毫秒數執行回調方法,其實不然,其真正的作用是經過該毫秒數將回調方法放置到隊列中去,但是如果隊列中存在正在執行的方法,其會等待之前的方法完畢再執行,如果存在還未執行的代碼實例,其不會插入到隊列中去,也就產生了 “丟幀”。
而 setTimeout 并不會出現這樣的現象,因為每一次調用都會產生了一個新定時器,同時在前一個定時器代碼執行完之前,不會向隊列插入新的定時器代碼。
// 該定時器實際會在 3s 后立即觸發下一次回調 setInterval(() => { // 執行完這里的代碼需要 2s }, 1000); // 使用 setTimeout 改寫,4秒后觸發下一次回調 let doSometing = () => { // 執行完這里的代碼需要 2s setTimeout(doSometing, 1000); } doSometing();
感謝各位的閱讀!關于“vue如何使用setTimeout代替setInterval”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。