ClearTimeout nodejs

Tim Caswell đã viết


> Jacob Rus đã viết.
>> Trong mọi trình duyệt (theo như tôi biết), `clearTimeout(null)` thực hiện

>> không có gì, nhưng trong nút, nó phát sinh một ngoại lệ. [. ]


>
> Để làm rõ, tôi nghĩ ý bạn là không xác định và không rỗng Đối với
> ví dụ luôn xóa thời gian chờ ngay trước khi đặt thời gian chờ. Lần
> đầu tiên giá trị của biến sẽ không được xác định. Trường hợp duy nhất tôi có thể
> nghĩ về vị trí null là khi bạn xác định rõ ràng biến của mình
> thành null trước.

Chà, tôi nghĩ nó sẽ hoạt động cho cả hai (hoặc thực sự, chỉ hoạt động tuy nhiên
trình duyệt hoạt động; tôi chưa kiểm tra xem đó là gì cho chuỗi, v.v. ).
Bởi vì có, tôi hiện đang đặt rõ ràng các biến của mình thành null.

Chúc mừng bạn,
Jacob

trong nút. js, tồn tại một mô-đun hẹn giờ được sử dụng để lên lịch hẹn giờ và thực thi một số loại chức năng trong một khoảng thời gian trong tương lai

phương thức setTimeout(). Nó được sử dụng để lên lịch chức năng được thực thi sau một phần nghìn giây được cung cấp, bên dưới là một ví dụ đơn giản về phương thức setTimeout()

Thí dụ. setTimeout bên trong thẻ tập lệnh đang đăng ký một chức năng sẽ được thực thi sau 3000 mili giây và bên trong chức năng, chỉ có một cảnh báo

HTML




_______3____4____5

 

<body>

const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = setTimeout((msg) => {
      this.remind(msg);
    }, 1000, 'Wake up!');
  },

  cancel() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup());
0____3____30____5

<2____33

<4<5

<2____37

<2____39

const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = setTimeout((msg) => {
      this.remind(msg);
    }, 1000, 'Wake up!');
  },

  cancel() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup());
0html1<0>

html1body>

 

html1html>

 

đầu ra

ClearTimeout nodejs

 

Phương thức clearTimeout(). Phương thức này thuộc danh mục hủy hẹn giờ và được sử dụng để hủy đối tượng hết thời gian chờ được tạo bởi setTimeout. Phương thức setTimeout() cũng trả về một id bộ đếm thời gian duy nhất được chuyển đến ClearTimeout để ngăn việc thực thi chức năng được đăng ký bởi setTimeout.  

Thí dụ. Ở đây, chúng tôi đã lưu trữ id bộ hẹn giờ được trả về bởi setTimeout và sau đó chúng tôi sẽ chuyển nó sang phương thức clearTimeout để hủy bỏ bộ hẹn giờ ngay lập tức

Javascript




>2

 

>4

const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = setTimeout((msg) => {
      this.remind(msg);
    }, 1000, 'Wake up!');
  },

  cancel() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup());
0>6

<2____58 >9

<4 1____62 3

<2____37

 6

<2____68

 

<2____31

<2<3<4 3

const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = setTimeout((msg) => {
      this.remind(msg);
    }, 1000, 'Wake up!');
  },

  cancel() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup());
0<7

<8

 

body0

đầu ra. Ở đây, chúng tôi sẽ không thể thấy cảnh báo đã đăng ký để được thực thi sau 3000 mili giây vì ClearTimeout đã hủy đối tượng hẹn giờ đó trước khi thực hiện

Nếu tham số được cung cấp không xác định hành động đã thiết lập trước đó, thì phương thức này không thực hiện gì

cú pháp

clearTimeout(timeoutID)

Thông số

 3

Mã định danh của thời gian chờ bạn muốn hủy. ID này được trả về bởi lệnh gọi tương ứng tới  4

Điều đáng chú ý là nhóm ID được sử dụng bởi  4 và  6 được chia sẻ, điều đó có nghĩa là về mặt kỹ thuật, bạn có thể sử dụng  7 và  8 thay thế cho nhau. Tuy nhiên, để rõ ràng, bạn nên tránh làm như vậy

Giá trị trả về

Không có (

const alarm = {
  remind(aMessage) {
    alert(aMessage);
    this.timeoutID = undefined;
  },

  setup() {
    if (typeof this.timeoutID === 'number') {
      this.cancel();
    }

    this.timeoutID = setTimeout((msg) => {
      this.remind(msg);
    }, 1000, 'Wake up!');
  },

  cancel() {
    clearTimeout(this.timeoutID);
  }
};
window.addEventListener('click', () => alarm.setup());
0)

ví dụ

Chạy tập lệnh bên dưới trong ngữ cảnh của trang web và nhấp vào trang một lần. Bạn sẽ thấy một thông báo bật lên trong giây lát. Nếu bạn nhấp vào trang nhiều lần trong một giây, cảnh báo chỉ xuất hiện một lần

Làm cách nào để xóa bộ đếm thời gian trong JavaScript?

Phương thức clearTimeout() xóa bộ hẹn giờ được đặt bằng phương thức setTimeout().

Chúng ta có thể xóaTimeout bên trong setTimeout không?

clearTimeout() bên trong phương thức setTimeout() không hoạt động trong JS . Sau khi bạn gọi clearTimeout, bạn đang gọi lại setTimeout. Thay vì gọi ClearTimeout, bạn chỉ cần thoát khỏi chức năng.

Tại sao cần có ClearTimeout?

Kết luận. Hàm clearTimeout() trong JavaScript giúp xóa cài đặt thời gian chờ được thực hiện cho một phiên . Nó sử dụng tên biến được sử dụng trong hàm setTimeout và xóa các cài đặt bằng cách sử dụng tên này làm tham chiếu. Bạn có thể xóa cài đặt thời gian chờ bất cứ khi nào cần.