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() ควรเสร็จสิ้นภายในการโทรแบบซิงโครนัส หลีกเลี่ยงการวนซ้ำอย่างต่อเนื่อง การบล็อกการรอ และโครงสร้างข้อมูลที่ขยายอย่างไม่มีขอบเขต รันไทม์จะจำกัดเวลาดำเนินการ ขั้นตอน และขนาดเนื้อหาการวาด ค่าในคุณลักษณะการวาดต้องเป็นจำนวนจำกัด และผลการคำนวณควรจัดการกับค่าที่อ่านไม่ได้ก่อน การหารด้วยศูนย์ ฯลฯ

ข้อผิดพลาดของสคริปต์จะแสดงในสถานะข้อผิดพลาดของเครื่องมือและบันทึกที่เกี่ยวข้อง การแสดงตัวอย่างใช้เพื่อตรวจสอบรหัสที่แสดง การอ่านมิเตอร์จริงขึ้นอยู่กับข้อมูลที่เลือกและแหล่งข้อมูลปัจจุบัน