จะใช้ setInterval() ใน Node.js อย่างมีประสิทธิภาพได้อย่างไร

Ca Chi Setinterval Ni Node Js Xyang Mi Prasiththiphaph Di Xyangri



ใน Node.js ในตัว “ตั้งค่าช่วง()” วิธีการดำเนินการบล็อคโค้ดสำหรับเวลาที่ไม่มีที่สิ้นสุดหลังจากช่วงเวลาที่กำหนด วิธีการนี้จะช่วยในการกำหนดเวลาโปรแกรมโดยดำเนินงานทั่วไปอย่างต่อเนื่องหลังจากเกิดความล่าช้าบางอย่างตามความต้องการ มันดำเนินงานที่กำหนดไว้ด้วยความช่วยเหลือของฟังก์ชันโทรกลับ เมื่อกำหนดงานที่ต้องการในฟังก์ชันโทรกลับแล้ว งานนั้นจะดำเนินการโดยอัตโนมัติอย่างไม่สิ้นสุดโดยที่ผู้ใช้ไม่เกี่ยวข้อง

โพสต์นี้จะอธิบายการใช้งาน setInterval() อย่างมีประสิทธิภาพใน node.js

การใช้เมธอด “setInterval()” ใน Node.js คืออะไร

ที่ “ตั้งค่าช่วง()” วิธีการใช้สำหรับการดำเนินการบล็อกโค้ดซ้ำๆ หลังจากการหน่วงเวลาที่ระบุ จะดำเนินการตามที่กำหนดไว้ซ้ำๆ หลังจากช่วงเวลาที่กำหนด จนกว่าผู้ใช้จะไม่หยุดการดำเนินการโดยใช้ “ช่วงที่ชัดเจน()” วิธี.







ไวยากรณ์
การใช้เมธอด “setInterval()” ขึ้นอยู่กับไวยากรณ์ทั่วไปซึ่งเขียนไว้ด้านล่าง:



ค่าคงที่ รหัสช่วงเวลา = ตั้งค่าช่วงเวลา ( ฟังก์ชั่น , [ ล่าช้า , หาเรื่อง1 , agr2 , ... , หาเรื่อง ] ) ;

วิธีการ “setInterval()” ข้างต้นใช้ได้กับพารามิเตอร์ต่อไปนี้:



  • ฟังก์ชั่น : หมายถึงฟังก์ชันการโทรกลับที่ดำเนินการซ้ำๆ ตามจำนวนครั้งไม่สิ้นสุดหลังจากช่วงเวลาที่กำหนด
  • ล่าช้า : ระบุจำนวนมิลลิวินาทีหลังจากที่ฟังก์ชันการโทรกลับที่กำหนดไว้จะดำเนินการ
  • อาร์กิวเมนต์ 1, อาร์กิ 2,... อาร์จีเอ็น : แสดงถึงอาร์กิวเมนต์เพิ่มเติมที่ส่งผ่านไปยังฟังก์ชันโทรกลับที่ระบุ

มูลค่าส่งคืน: ตั้งค่าช่วง() ” ส่งคืน “intervalId” ที่ไม่ใช่ศูนย์ซึ่งผู้ใช้สามารถส่งผ่านไปยังวิธี “clearInterval()” อื่นเพื่อหยุดการดำเนินการฟังก์ชันโทรกลับแบบไม่มีที่สิ้นสุด





ลองใช้วิธีที่กำหนดไว้ข้างต้นในทางปฏิบัติ

ตัวอย่างที่ 1: ใช้เมธอด 'setInterval()' เพื่อดำเนินการฟังก์ชันกับเวลาที่ไม่มีที่สิ้นสุด
ตัวอย่างนี้ใช้เมธอด 'setInterval()' เพื่อรันฟังก์ชันกับเวลาที่ไม่มีที่สิ้นสุด:



const setTimeID = setInterval ( มายฟังก์, 1,000 ) ;
การทำงาน myFunc ( ) {
console.log ( 'ยินดีต้อนรับสู่ Linuxhint!' )
}

ในข้อมูลโค้ดข้างต้น:

  • ตัวแปร “setTimeID” ใช้ “ ตั้งค่าช่วง() ” วิธีการดำเนินการฟังก์ชั่นโทรกลับที่กำหนดหลังจากการหน่วงเวลาที่ระบุ
  • ในคำจำกัดความฟังก์ชันการเรียกกลับ “ console.log() ” วิธีการแสดงคำสั่งที่ยกมาครั้งไม่สิ้นสุดในคอนโซลหลังจากช่วงเวลาที่กำหนด

บันทึก : เขียนบรรทัดโค้ดข้างต้นลงในไฟล์ “.js” ของโครงการ Node.js

เอาท์พุต
ตอนนี้เริ่มต้นไฟล์ '.js' โดยใช้คีย์เวิร์ด 'node':

แอปโหนด เจส

จะเห็นได้ว่าเอาต์พุตแสดงข้อความที่ระบุซ้ำๆ หลังจากการหน่วงเวลาที่ระบุ:

ตัวอย่างที่ 2: ใช้เมธอด 'setInterval()' เพื่อดำเนินการฟังก์ชันให้มีเวลาจำกัด
ตัวอย่างนี้ใช้เมธอด “setInterval()” เพื่อรันฟังก์ชันตามเวลาที่จำกัด:

ให้นับ = 0 ;
ค่าคงที่ เซ็ตไทม์ไอดี = ตั้งค่าช่วงเวลา ( myFunc , 1,000 ) ;
การทำงาน myFunc ( ) {
คอนโซล บันทึก ( 'ลินุกซ์!' ) ;
นับ ++;
ถ้า ( นับ === 4 ) {
คอนโซล บันทึก ( ' \n ช่วงเวลาที่กำหนดถูกหยุดหลังจากการดำเนินการครั้งที่ 4 \n ' ) ;
ชัดเจนช่วงเวลา ( เซ็ตไทม์ไอดี ) ;
}
}

ในบรรทัดโค้ดด้านบน:

  • ประการแรก คีย์เวิร์ด “let” จะประกาศ “ นับ ” ตัวแปรที่มีค่าตัวเลข
  • ต่อไป “ ตั้งค่าช่วง() ” วิธีการดำเนินการฟังก์ชันที่ระบุหลังจากการหน่วงเวลาที่กำหนด
  • ในฟังก์ชันนี้ “ console.log() ” วิธีการพิมพ์คำสั่งที่ระบุในคอนโซล
  • หลังจากนั้นให้เพิ่มตัวแปร “นับ” โดยใช้ “นับ++” คำแถลง.
  • ตอนนี้ “ ถ้า ” คำสั่งกำหนดบล็อกรหัสที่วิธีการ “console.log()” จะแสดงคำสั่งที่กำหนดและ “ช่วงที่ชัดเจน()” ด้วยรหัสที่ส่งคืนของเมธอด 'setInterval()' จะหยุดการทำงานของฟังก์ชันเมื่อตรงตามเงื่อนไข 'if'

เอาท์พุต
รันไฟล์ “.js” โดยใช้คำสั่งต่อไปนี้:

แอปโหนด เจส

สังเกตได้ว่าฟังก์ชันเฉพาะถูกดำเนินการในจำนวนครั้งที่จำกัด:

ตัวอย่างที่ 3: ใช้วิธี 'setInterval()' พร้อมอาร์กิวเมนต์
ตัวอย่างนี้ใช้เมธอด “setInterval()” พร้อมกับพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันเรียกกลับที่ระบุ:

ให้นับ = 0 ;
ค่าคงที่ เซ็ตไทม์ไอดี = ตั้งค่าช่วงเวลา ( myFunc , 1,000 , 'ลินุกซ์' ) ;
การทำงาน myFunc ( หาเรื่อง ) {
คอนโซล บันทึก ( 'สวัสดี ' + หาเรื่อง ) ;
นับ ++;
ถ้า ( นับ === 4 ) {
คอนโซล บันทึก ( ' \n ช่วงเวลาที่กำหนดถูกหยุดหลังจากการดำเนินการครั้งที่ 4 \n ' ) ;
ชัดเจนช่วงเวลา ( เซ็ตไทม์ไอดี ) ;
}
}

ในบรรทัดโค้ดด้านบน:

  • ตั้งค่าช่วง() ” วิธีการระบุอาร์กิวเมนต์ถัดไปหลังจาก “ ล่าช้า ” พารามิเตอร์
  • ในฟังก์ชันการโทรกลับ อาร์กิวเมนต์ที่ระบุจะถูกส่งผ่านด้วยความช่วยเหลือของ ' หาเรื่อง ' การโต้แย้ง.
  • หลังจากนั้น “ console.log() ” วิธีการพิมพ์ค่าของอาร์กิวเมนต์ที่ส่งผ่านพร้อมกับสตริงที่ยกมา

เอาท์พุต
เรียกใช้ไฟล์ '.js':

แอปโหนด เจส

ที่นี่ เอาต์พุตจะแสดงฟังก์ชันการโทรกลับที่ถูกดำเนินการตามเวลาจำกัดโดยแสดงค่าอาร์กิวเมนต์พร้อมกับสตริงที่ระบุในคอนโซล:

อะไรคือความแตกต่างระหว่าง setTimeout() และ setInterval()?

ในส่วนนี้เน้นย้ำความแตกต่างที่สำคัญระหว่างเมธอด “setTimeout()” และ “setInterval()”:

เงื่อนไข ตั้งค่าหมดเวลา() ตั้งค่าช่วง()
วัตถุประสงค์ ตั้งค่าหมดเวลา() ” วิธีการดำเนินการบล็อคโค้ดที่ต้องการหลังจากการหน่วงเวลาที่ระบุ (ms) เพียงครั้งเดียว ที่ “ตั้งค่าช่วง()” วิธีการดำเนินการบล็อคโค้ดที่ต้องการเป็นเวลาไม่สิ้นสุดหลังจากช่วงเวลาที่กำหนดหรือ 'ล่าช้า'
ไวยากรณ์ setTimeout (ฟังก์ชันโทรกลับ, ดีเลย์ (ms)) setInterval (ฟังก์ชันโทรกลับ, ดีเลย์ (ms))
จำนวนการประหารชีวิต วิธีการนี้จะรันฟังก์ชันการโทรกลับเพียงครั้งเดียวหลังจากการหน่วงเวลาที่กำหนด เมธอดนี้จะเรียกใช้ฟังก์ชันการโทรกลับโดยไม่จำกัดจำนวนครั้ง จนกว่าการดำเนินการจะไม่หยุดโดยใช้ 'clearInterval()'
ล้างช่วงเวลา ใช้เมธอด 'clearTimeout()' เพื่อหยุดการทำงานของฟังก์ชันที่ระบุ ใช้เมธอด 'clearInterval()' เพื่อหยุดการทำงานของฟังก์ชันเรียกกลับ

นั่นคือทั้งหมดที่เกี่ยวกับการใช้ setInterval() ใน Node.js

บทสรุป

หากต้องการใช้เมธอด “setInterval()” ใน Node.js อย่างมีประสิทธิภาพ ให้กำหนดฟังก์ชันโทรกลับเป็นพารามิเตอร์ที่ดำเนินงานที่กำหนดไว้ซ้ำๆ หลังจากการหน่วงเวลาคงที่ การดำเนินการของฟังก์ชันการโทรกลับที่กำหนดไว้จะไม่หยุดโดยอัตโนมัติจนกว่าผู้ใช้จะไม่หยุดโดยใช้เมธอด 'clearInterval()' นอกจากนี้วิธีนี้ยังสามารถใช้ในการดึงค่าตัวแปรที่ไม่มีที่สิ้นสุดหลังจากการหน่วงเวลาที่กำหนด โพสต์นี้ได้อธิบายการใช้งาน setInterval() ใน Node.js อย่างมีประสิทธิภาพแล้ว