รูปแบบ RxJS ขั้นสูง
Higher-order observable, multicasting, share operator, การกู้คืนข้อผิดพลาด, กลยุทธ์ retry, backpressure, custom operator
1ความแตกต่างหลักระหว่าง switchMap และ mergeMap ในการจัดการคำขอ HTTP พร้อมกันคืออะไร?
ความแตกต่างหลักระหว่าง switchMap และ mergeMap ในการจัดการคำขอ HTTP พร้อมกันคืออะไร?
คำตอบ
switchMap ยกเลิกคำขอก่อนหน้าเมื่อมีค่าใหม่มาถึง ในขณะที่ mergeMap คงทุกการสมัครรับข้อมูลที่ใช้งานอยู่พร้อมกัน ในแถบค้นหา switchMap จะยกเลิกคำขอที่กำลังดำเนินอยู่อัตโนมัติเมื่อมีอินพุตใหม่ ป้องกันผลลัพธ์ที่ล้าสมัย mergeMap เหมาะสำหรับการกระทำอิสระที่ต้องเสร็จสิ้นทั้งหมด เช่น การอัปโหลดไฟล์แบบขนาน
2ควรใช้ concatMap แทน mergeMap เมื่อใดในการประมวลผลคิวการกระทำของผู้ใช้?
ควรใช้ concatMap แทน mergeMap เมื่อใดในการประมวลผลคิวการกระทำของผู้ใช้?
คำตอบ
concatMap รับประกันลำดับการดำเนินการโดยรอให้ observable ภายในแต่ละตัวเสร็จก่อนประมวลผลตัวถัดไป ในขณะที่ mergeMap ประมวลผลทุกการกระทำแบบขนานโดยไม่รับประกันลำดับ ใช้ concatMap สำหรับการดำเนินการสำคัญที่ต้องการลำดับเข้มงวด เช่น ธุรกรรมธนาคารแบบต่อเนื่อง หรือการส่งข้อความแชท mergeMap เหมาะสำหรับการกระทำอิสระที่สามารถทำงานแบบขนานได้
3Higher-order observable คืออะไร และทำไมจึงต้องใช้ flattening operator?
Higher-order observable คืออะไร และทำไมจึงต้องใช้ flattening operator?
คำตอบ
Higher-order observable คือ observable ที่ปล่อย observable อื่น ตัวอย่างเช่น observable การคลิกที่ปล่อย observable คำขอ HTTP สำหรับแต่ละการคลิก หากไม่มี flattening operator (switchMap, mergeMap, concatMap) คุณจะได้โครงสร้างซ้อนกัน Observable<Observable<T>> ที่ไม่สามารถใช้โดยตรง flattening operator จะสมัครรับข้อมูล observable ภายในโดยอัตโนมัติและส่งค่าในสตรีมหลัก
ควรใช้ operator ใดเพื่อยกเลิกการค้นหาที่กำลังดำเนินอยู่โดยอัตโนมัติเมื่อผู้ใช้พิมพ์อินพุตใหม่?
exhaustMap แตกต่างจาก switchMap อย่างไรในการจัดการคำขอที่สำคัญ?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Angular อื่นๆ
พื้นฐาน TypeScript
TypeScript ขั้นสูง
พื้นฐาน Angular
คอมโพเนนต์และวงจรชีวิต
Services & Dependency Injection
การจัดระเบียบโมดูล Angular
Angular CLI
Directives และ Pipes
Routing และการนำทาง
Reactive Forms
Template-driven Forms
พื้นฐาน RxJS
Operator ของ RxJS
HttpClient และการเรียก API
การจัดการ state พื้นฐาน
Change Detection
Angular Signals
Standalone Components
การทำ Unit Testing ใน Angular
การทดสอบ End-to-End
Build และการเพิ่มประสิทธิภาพ
พื้นฐาน NgRx
NgRx ขั้นสูง
สถาปัตยกรรม Angular
การปรับแต่งประสิทธิภาพ
ความปลอดภัยและแนวทางปฏิบัติที่ดี
Angular Universal และ SSR
Angular Micro-frontends
เชี่ยวชาญ Angular สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี