โพสต์นี้จะอธิบายการใช้งาน 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()” เพื่อรันฟังก์ชันตามเวลาที่จำกัด:
ค่าคงที่ เซ็ตไทม์ไอดี = ตั้งค่าช่วงเวลา ( myFunc , 1,000 ) ;
การทำงาน myFunc ( ) {
คอนโซล บันทึก ( 'ลินุกซ์!' ) ;
นับ ++;
ถ้า ( นับ === 4 ) {
คอนโซล บันทึก ( ' \n ช่วงเวลาที่กำหนดถูกหยุดหลังจากการดำเนินการครั้งที่ 4 \n ' ) ;
ชัดเจนช่วงเวลา ( เซ็ตไทม์ไอดี ) ;
}
}
ในบรรทัดโค้ดด้านบน:
- ประการแรก คีย์เวิร์ด “let” จะประกาศ “ นับ ” ตัวแปรที่มีค่าตัวเลข
- ต่อไป “ ตั้งค่าช่วง() ” วิธีการดำเนินการฟังก์ชันที่ระบุหลังจากการหน่วงเวลาที่กำหนด
- ในฟังก์ชันนี้ “ console.log() ” วิธีการพิมพ์คำสั่งที่ระบุในคอนโซล
- หลังจากนั้นให้เพิ่มตัวแปร “นับ” โดยใช้ “นับ++” คำแถลง.
- ตอนนี้ “ ถ้า ” คำสั่งกำหนดบล็อกรหัสที่วิธีการ “console.log()” จะแสดงคำสั่งที่กำหนดและ “ช่วงที่ชัดเจน()” ด้วยรหัสที่ส่งคืนของเมธอด 'setInterval()' จะหยุดการทำงานของฟังก์ชันเมื่อตรงตามเงื่อนไข 'if'
เอาท์พุต
รันไฟล์ “.js” โดยใช้คำสั่งต่อไปนี้:
สังเกตได้ว่าฟังก์ชันเฉพาะถูกดำเนินการในจำนวนครั้งที่จำกัด:
ตัวอย่างที่ 3: ใช้วิธี 'setInterval()' พร้อมอาร์กิวเมนต์
ตัวอย่างนี้ใช้เมธอด “setInterval()” พร้อมกับพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชันเรียกกลับที่ระบุ:
ค่าคงที่ เซ็ตไทม์ไอดี = ตั้งค่าช่วงเวลา ( 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 อย่างมีประสิทธิภาพแล้ว