มีคนบอกฉันว่าเมื่อคุณใช้คุณต้องล้างมันด้วยsetTimeout clearTimeoutฉันเข้าใจได้ก่อนหมดเวลา แต่ทำไมหลังจากนั้น หรือไม่จริง?
มีคนบอกฉันว่าเมื่อคุณใช้คุณต้องล้างมันด้วยsetTimeout clearTimeoutฉันเข้าใจได้ก่อนหมดเวลา แต่ทำไมหลังจากนั้น หรือไม่จริง?
คำตอบ:
ไม่เป็นความจริง - ไม่มีอันตรายใด ๆ ในการล้างการหมดเวลาหลังจากเสร็จสิ้น แต่ก็ไม่จำเป็น
ตามข้อกำหนด :
หากหมายเลขอ้างอิงไม่ระบุรายการในรายการตัวจับเวลาที่ใช้งานอยู่ของอ็อบเจ็กต์ WindowOrWorkerGlobalScope ที่เรียกใช้ [clearTimeout] เมธอดจะไม่ทำอะไรเลย
กล่าวอีกนัยหนึ่งก็คือการไม่ดำเนินการ ไม่มีอะไรเกิดขึ้นและจะไม่มีข้อผิดพลาดเกิดขึ้น
คุณไม่จำเป็นต้องใช้จริงclearTimeoutคุณจะใช้ก็ต่อเมื่อคุณต้องการยกเลิกการหมดเวลาที่คุณตั้งไว้ก่อนที่จะเกิดขึ้น
ก็มักจะปฏิบัติมากขึ้นที่จะใช้clearIntervalด้วยsetIntervalเพราะsetIntervalมักจะทำงานไปเรื่อย ๆ
clearTimeoutจำเป็นสำหรับการยกเลิกการหมดเวลาเท่านั้น หลังจากหมดเวลาทำงานแล้วสามารถปล่อยให้อยู่คนเดียวได้อย่างปลอดภัย clearIntervalโดยทั่วไปมีความจำเป็นมากกว่ามากเพื่อป้องกันไม่ให้ดำเนินการต่อไปอย่างไม่มีกำหนด
ไม่มีเหตุผลที่จะต้องล้างหลังจากเสร็จสิ้น setIntervalเพื่อนของคุณอาจจะได้รับสับสนกับ
ไม่setTimeoutหยุดทำงานหลังจากโทร 1 ครั้ง เพื่อที่จะหยุดแต่คุณต้องใช้setInterval clearIntervalหากคุณสร้างลูปที่ไม่มีที่สิ้นสุดsetTimeoutก็clearTimeoutสามารถใช้ได้