main()
รายการรูปวาดของสคริปต์เครื่องมือ CapDrive เรียก main() เพื่อรับหน้าจอนี้ และรับผิดชอบการจัดวาง การวาด และการรีเฟรชในภายหลัง
กระบวนการดำเนินการ
แต่ละครั้งที่ยอมรับอินพุตใหม่ CapDrive จะอัปเดตข้อมูลปัจจุบันและสภาพแวดล้อมการแสดงผล ดำเนินการไฟล์ทั้งหมดในขอบเขตท้องถิ่นใหม่ จากนั้นเรียกใช้ main() ที่กำหนดไว้ในครั้งนี้ ฟังก์ชันส่งคืนอาร์เรย์ View, View ในตัวหรือเนื้อหาว่างพร้อมกัน
การดึงข้อมูลและการคำนวณระดับบนสุดยังได้รับการอัปเดตในการดำเนินการแต่ละครั้งด้วย ตัวแปรทั่วไปจะถูกเตรียมใช้งานใหม่ทุกครั้ง และ $sessionStorage ใช้สำหรับสถานะการขยาย
การเปลี่ยนแปลงอินพุต คำจำกัดความอินพุต หรือสภาพแวดล้อมการแสดงผลปัจจุบันจะทริกเกอร์การดำเนินการ และไม่มีความถี่คงที่สม่ำเสมอ อินพุตที่เหมือนกันจะถูกข้ามไปและเฉพาะอินพุตที่ค้างอยู่ล่าสุดเท่านั้นที่จะถูกเก็บไว้ในการประมวลผล การเติบโตของหน้าต่างประวัติ การล้างข้อมูล และการเปลี่ยนแปลงเวลาตัวอย่างภายในไม่ทริกเกอร์การดำเนินการทีละรายการ การเปลี่ยนแปลงการป้อนข้อมูลเวลาที่กำหนดไว้อย่างชัดเจนยังคงทริกเกอร์ แอนิเมชันจะดำเนินการโดยอิสระจากด้านการวาดภาพ
ตัวอย่าง: วาดด้วยค่าที่อ่านได้ในปัจจุบัน
เลือกความเร็วในการตั้งค่ามิเตอร์ การโทรแต่ละครั้งจะอ่านความเร็วล่าสุด สร้างตัวเลขและหน่วย แสดงเส้นแนวนอนเมื่อไม่มีความเร็ว
function main() {
const speed = $data.current.speed;
return (
<VStack spacing={8}>
<Text fontSize={64} color={$env.foreground}>
{speed?.value == null ? '—' : Math.round(speed.value)}
</Text>
<Text fontSize={16} color={$env.accent}>
{speed?.unit ?? $env.speedUnit}
</Text>
</VStack>
);
}
สถานะระหว่างการเรียกใช้ฟังก์ชัน
ตัวแปรท้องถิ่นธรรมดาจะใช้สำหรับการเรียกใช้ฟังก์ชันนี้เท่านั้น ใช้ $sessionStorage เมื่อคุณต้องการรักษามูลค่าสูงสุด การนับ ฯลฯ ไว้ภายในการเดินทางปัจจุบัน มันถูกแยกออกโดยอินสแตนซ์ทริปและอุปกรณ์ และจะถูกเคลียร์เมื่อทริปสิ้นสุดหรือโหลดอุปกรณ์ใหม่
เมื่อต้องการรายการ View สามารถสร้างได้จากอาร์เรย์ map จัดให้มี key ที่เสถียรสำหรับรายการที่อัปเดตหรือจัดเรียงใหม่ เพื่อให้การอัปเดตการวาดและภาพเคลื่อนไหวยังคงสอดคล้องกับรายการเดียวกัน
ข้อกำหนดในการปฏิบัติงานและข้อผิดพลาด
main() ควรเสร็จสิ้นภายในการโทรแบบซิงโครนัส หลีกเลี่ยงการวนซ้ำอย่างต่อเนื่อง การบล็อกการรอ และโครงสร้างข้อมูลที่ขยายอย่างไม่มีขอบเขต รันไทม์จะจำกัดเวลาดำเนินการ ขั้นตอน และขนาดเนื้อหาการวาด ค่าในคุณลักษณะการวาดต้องเป็นจำนวนจำกัด และผลการคำนวณควรจัดการกับค่าที่อ่านไม่ได้ก่อน การหารด้วยศูนย์ ฯลฯ
ข้อผิดพลาดของสคริปต์จะแสดงในสถานะข้อผิดพลาดของเครื่องมือและบันทึกที่เกี่ยวข้อง การแสดงตัวอย่างใช้เพื่อตรวจสอบรหัสที่แสดง การอ่านมิเตอร์จริงขึ้นอยู่กับข้อมูลที่เลือกและแหล่งข้อมูลปัจจุบัน