อะซิงโครนัสเหมาะที่สุดเมื่อดำเนินการตามคำขอต่อไปนี้:
- คำขอผูก I/O ตัวอย่าง: การเขียน/อ่านไฟล์หรือฐานข้อมูล การเรียก API การเรียกฮาร์ดแวร์ เช่น เครื่องพิมพ์ เป็นต้น
- คำขอที่ผูกกับ CPU (ต้องใช้เวลาของ CPU)
ทำไมเราต้องเขียนโปรแกรมแบบอะซิงโครนัส
การเข้ารหัสแบบอะซิงโครนัสมักจะหมายความว่า คุณต้องอ่านโค้ดหลายเธรดของคุณ ซึ่งหมายความว่าคุณต้องเริ่มเธรดอื่นที่สามารถเรียกใช้โดยไม่ขึ้นกับงานหลักของคุณ ซึ่งมักจะมีความจำเป็น เนื่องจากตัวอย่าง การรอให้การสื่อสารเสร็จสิ้นจะหยุดเธรดที่รอไม่ให้ทำงานอย่างสมบูรณ์
อะไรคือเหตุผลที่ดีที่สุดในการใช้การประมวลผลแบบอะซิงโครนัส
วนซ้ำแบบอะซิงโครนัสเป็นสิ่งจำเป็น เมื่อมีการวนซ้ำจำนวนมากหรือเมื่อการดำเนินการภายในลูปมีความซับซ้อน แต่สำหรับงานง่ายๆ เช่น การวนซ้ำผ่านอาร์เรย์ขนาดเล็ก จะมี ไม่มีเหตุผลที่จะทำให้สิ่งต่าง ๆ ซับซ้อนเกินไปโดยใช้ฟังก์ชันเรียกซ้ำที่ซับซ้อน
คุณจะใช้การกระทำแบบอะซิงโครนัสเมื่อใด
การกระทำแบบอะซิงโครนัสจะดีที่สุด เมื่อวิธีการของคุณคือ I/O ผูกกับเครือข่าย หรือทำงานเป็นเวลานานและขนานกันได้ ข้อดีอีกประการของการดำเนินการแบบอะซิงโครนัสคือผู้ใช้สามารถยกเลิกได้ง่ายกว่าคำขอแบบซิงโครนัส
อ็อบเจ็กต์ใดต่อไปนี้ใช้โปรแกรมอะซิงโครนัส
หนึ่งใน API พื้นฐานที่สุดที่ Dart มีสำหรับการเขียนโปรแกรมแบบอะซิงโครนัสคือ futures - ออบเจ็กต์ประเภท Future โดยส่วนใหญ่ ฟิวเจอร์สของ Dart จะคล้ายกับอนาคตมาก หรือสัญญาว่า API ที่พบในภาษาอื่นๆ บทความนี้กล่าวถึงแนวคิดเบื้องหลัง Dart Futures และบอกวิธีใช้ Future API