Asked Dec 29th, 2021 2:06 PM 103 0 1
  • 103 0 1
0

setTimeout trong javascript

Share
  • 103 0 1

Mình đang làm 1 project nodejs. Thì bị mắc khúc này, rất mong mọi người giúp đỡ.

Ví dụ có 1 biến boolean A = false. Mỗi lần A thay đổi thành true sau 10s thì chạy function B. Nhưng nếu đang trong thời gian đếm 10s mà đổi false rồi true 1 lần nữa thì đếm lại 10s rồi mới chạy function B.

Mình đã nghĩ tới việc dùng setTimeout. Mỗi khi A => true thì cancel biến setTimeout đang chạy (nếu có) và tạo biến setTimeout 10s mới để chạy function B. Mà chưa biết cách đúng để thực hiện.

Cảm ơn ạ!

Avatar Lê Tuấn Anh @tuananhbfs
Dec 31st, 2021 8:35 AM
function setA(Boolean){
A=Boolean;
 if(handler) clearTimeout(handler)
if(Boolean){
 handler = setTimeout(()=>{
                B();
       
        },10000);
}
}
0
| Reply
Share

1 ANSWERS


Answered Dec 30th, 2021 1:57 AM
0

Bạn thử ý tưởng này xem sao nhé, chúc thành công.

const _time = 10000;
let isClick = false;
var handler;
function clickSomeThink(){
         if(handler) clearTimeout(handler)
         isClick = true;
         handler = setTimeout(()=>{
               func b();
              isClick = false;
        },_time);
}
Share
Viblo
Let's register a Viblo Account to get more interesting posts.