Nó cho phép trả phần data nhanh trước và phần chậm sau trong cùng một yêu cầu.
Màn hình hiển thị nội dung chính ngay, còn các khối phụ như gợi ý hay thống kê tới sau mà không chặn phần đầu.
query {
post(id: "1") {
title # arrives in the first chunk
... on Post @defer { comments { body } } # slow part streams in later
}
}Trước khi có cơ chế này, cách xử lý thông thường là tách thành hai truy vấn — vẫn dùng được và đơn giản hơn, đổi lại tốn thêm một round trip.
Điều kiện để dùng: cả server lẫn client library phải hỗ trợ, và tầng truyền tải phải cho phép trả về nhiều phần. Đây là lý do việc áp dụng còn hạn chế dù ý tưởng đã có từ lâu.
Một lưu ý về thiết kế giao diện: nhận dữ liệu theo phần đòi hỏi giao diện có trạng thái chờ cho từng khối chứ không phải một trạng thái chờ chung, nếu không lợi ích về cảm nhận tốc độ gần như không còn.