tag settimeout

標籤
貢獻15
74
07:01 AM · Nov 03 ,2025

@settimeout / 博客 RSS 訂閱

懶懶今天很happy - JS中的定時器

JS的定時器相關的API有四個,分別是setTimeout、clearTimeout、setInterval、clearInterval。其中 setTimeout和clearTimeout是一組,setInterval 和 clearInterval是一組。 setTimeout 設置一個定時器,定時器在定時器到期後執行一個函數或指定的一段代碼 let timerId = setTimeout(

settimeout , setinterval , Javascript

收藏 評論

小謳 - 《javascript高級程序設計》學習筆記 | 11.1.異步編程

關注前端小謳,閲讀更多原創技術文章 異步編程 ES6 新增了正式的Promise引用類型,支持更優雅地定義和組織異步邏輯 接下來的幾個版本,使用async和await關鍵字定義異步函數的機制 相關代碼 → 同步與異步 同步行為在內存中順序執行處理器指令 每條指令都在單個線程中按出現順序執行 每條指令執行後,都可以推斷出程序的狀態,並立即獲得存儲在系統本地(

settimeout , 異步編程 , 前端 , Javascript

收藏 評論

普拉斯強 - 寫個秒殺倒計時方法

背景 項目裏有個秒殺倒計時功能模塊。 頁面切換Tab後,一段時間再回來發現明顯慢了。擼代碼吧: // ... CountDown.prototype.count = function() { var self = this; this.clear(); this.timeout = setTimeout(function(){ // 計數減1 if(--s

settimeout , 倒計時 , 秒殺 , 前端 , Javascript

收藏 評論

健兒 - 再次理解異步setTimeout 方法

先看一段代碼: console.log('-',new Date().getTime()) for(let i = 0;i100;i++){ setTimeout(function(){ console.log('exeute'); },100); } console.log('i',new Date().getTim

eventloop , settimeout , 線程 , 異步 , Javascript

收藏 評論

南玖 - JS定時器執行不可靠的原因及解決方案

前言 在工作中應用定時器的場景非常多,但你會發現有時候定時器好像並沒有按照我們的預期去執行,比如我們常遇到的setTimeout(()={},0)它有時候並不是按我們預期的立馬就執行。想要知道為什麼會這樣,我們首先需要了解Javascript計時器的工作原理。 定時器工作原理 為了理解計時器的內部工作原理,我們首先需要了解一個非常重要的概念:計時器設定的延時是沒有保證的。因為所有在瀏覽器中執行的J

定時器 , settimeout , setinterval , 前端 , Javascript

收藏 評論

歸子莫 - 【JavaScript基礎】Js的定時器(你想看的原理也在喲)

【JavaScript基礎】Js的定時器(你想看的原理也在喲) 博客説明 文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯繫本人刪除,謝謝! 説明 本章是經歷第二次翻新,時過一年,再看自己的文章,覺得需要做點什麼,它得豐富一點!篇幅半頁或者一頁,自己都感覺有點對不住自己。為了對得住自己,加了原理解析和案例。知其然與所以然。 Js的定時器,是前端的基本工具,

settimeout , setinterval , 前端 , Javascript

收藏 評論

雲端的日子 - 定時器輪詢請求,清理定時器

bug如下: unReadMsgList請求10秒一次,getBmUpdateSettingsListByUserId5秒一次,本應該兩個unReadMsgList之間出現兩次getBmUpdateSettingsListByUserId,但是實際出現了6個getBmUpdateSettingsListByUserId(如圖), 是由於進入頁面,調用了一次getBmUpdateSett

settimeout , setinterval

收藏 評論

Shenfq - React 中 setState 是一個宏任務還是微任務?

最近有個朋友面試,面試官問了個奇葩的問題,也就是我寫在標題上的這個問題。 能問出這個問題,面試官應該對 React 不是很瞭解,也是可能是看到面試者簡歷裏面有寫過自己熟悉 React,面試官想通過這個問題來判斷面試者是不是真的熟悉 React 🤣。 面試官的問法是否正確? 面試官的問題是,setState 是一個宏任務還是微任務,那麼在他的認知裏,setState 肯定是一個異步操作。為了判斷

react , promise , settimeout , 前端 , Javascript

收藏 評論

Victory - 解決setInterval跟settimeout切換頁面後不準的問題

由於瀏覽器的優化機制,在切換tab之後瀏覽器會把setInterval跟settimeout的執行效率降低,在瀏覽器窗口非激活的狀態下會停止工作或者以極慢的速度工作。1000毫秒循環一次會變得越來越慢,3000,5000,甚至會停止循環,直到再次切回頁面時激活,導致做一些商城活動倒計時之類功能時出現倒計時不準確等BUG。 1.可以通過監聽 visibilitychange 來切出切回重新開啓

settimeout , setinterval , web-worker , 倒計時 , Javascript

收藏 評論

lijing0302 - 關於setTimeout和setInterval第一個參數

第一個參數如果傳入字符串,執行時會像eval()一樣解析 相似的有: Function: const adder = new Function("a", "b", "return a + b"); // 調用函數 adder(2, 6); // 8 參數 "a" 和 "b" 是參數的名字,在函數體中被使用,"return a + b"。

function , settimeout , setinterval , eval , Javascript

收藏 評論

公子 - 一道面試題讓你更加了解事件隊列

今天在羣裏聊天,突然有人放出了一道面試題。經過羣裏一番討論,最終解題思路慢慢完善起來,我這裏就整理一下羣內解題的思路。 該題定義了一個同步函數對傳入的數組進行遍歷乘二操作,同時每執行一次就會給 executeCount 累加。最終我們需要實現一個 batcher 函數,使用其對該同步函數包裝後,實現每次調用依舊返回預期的二倍結果,同時還需要保證 executeCount 執行次數為1。 let e

eventloop , promise , settimeout , 前端 , Javascript

收藏 評論

註銷 - 使用 setTimeout 拆解一些 CPU 密集型的執行任務

未優化之前的版本: let i = 0; let start = Date.now(); function count() { // do a heavy job for (let j = 0; j 1e9; j++) { i++; } alert("Done in " + (Date.now() - start) + 'ms'); } count(); 上述

settimeout , HTML , 前端 , html5 , Javascript

收藏 評論

浪遏飛舟 - 如何實現精準的計時器

計時器 計時器在前端有很多應用場景,比如電商業務中秒殺和搶購活動的倒計時。在探討計時器之前先來回顧下它們的基本概念: 基本定義與用法 1、定義 setTimeout()用於指定在一定時間(單位毫秒)後執行某些代碼 setInterval()用於指定每隔一段時間(單位毫秒)執行某些代碼 2、參數 第一個參數 function,必填,回調函數。或者是一段字符串代碼,但是這種方式不建議使用,就和使

事件循環 , 計時器 , settimeout , setinterval , 倒計時

收藏 評論

jump__jump - 超長定時器 long-timeout

在 JavaScript 開發中,定時器是常用的異步編程工具。然而,原生的 setTimeout 和 setInterval 存在一個鮮為人知的限制:它們無法處理超過 24.8 天的定時任務。 對於前端開發來説,該限制不太會出現問題,但是需要設置超長定時的後端應用場景,如長期提醒、週期性數據備份、訂閲服務到期提醒等,這個限制可能會導致嚴重的功能缺陷。 JavaScript 定時器的限制 原理 Ja

定時器 , node.js , cron , settimeout , Javascript

收藏 評論

Tqing - 使用setTimeout來實現SetInterval

為什麼要使用setTimeout來實現SetInterval? 我們知道setInterval以一定頻率來執行一個函數,但是這樣有一個問題,加入執行的這個函數相當耗時,超過了我們給定的週期時間,setInterval還會按照約定的時間來執行下次任務嗎? 答案是不會,setInterval會等到當前的任務執行完成後,再立即執行下一次的任務,看個例子 setInterval(function inte

settimeout , setinterval

收藏 評論