Multiple Query Execution
รวม queries หลายรายการเข้าเป็น query เดียว แชร์สถานะระหว่างกัน และรันตามลำดับที่กำหนด

Click to watch tutorial video - 12:27
Multiple query execution คือฟีเจอร์ที่รวม queries หลายรายการเข้าเป็น query เดียว รันตามลำดับที่กำหนด พร้อมอนุญาตให้ queries แชร์สถานะระหว่างกันผ่านตัวแปรแบบไดนามิก
query GetLoggedInUserName {
me {
name @export(as: "loggedInUserName")
}
}
query FindPosts @depends(on: "GetLoggedInUserName") {
posts(filter: { search: $loggedInUserName }) {
id
title
}
}ฟีเจอร์นี้มีประโยชน์หลายด้าน:
- ประสิทธิภาพ: แทนที่จะรัน query กับ GraphQL server แล้วรอผลลัพธ์ จากนั้นนำผลนั้นไปรัน query อีกรายการ ให้รวม queries ทั้งหมดเข้าด้วยกันและรันในคำขอเดียว ช่วยลดความล่าช้าจากการเชื่อมต่อ HTTP หลายครั้ง
- ความสามารถ: ปรับค่าฟิลด์ตามต้องการ ดึงข้อมูลจากฐานข้อมูลในการดำเนินการหนึ่ง แปลงข้อมูล และส่งต่อไปยังฟิลด์อื่นในการดำเนินการถัดไป
- ความเป็นโมดูล: จัดการ GraphQL queries ให้เป็นหน่วยการทำงานย่อย (หรือหน่วยตรรกะ) ที่พึ่งพากัน และสามารถรันแบบมีเงื่อนไขตามผลลัพธ์จากการดำเนินการก่อนหน้า