نستخدم الوعود (Promises). الوعد يمثّل نتيجة ستصل لاحقًا، والتطبيق يكمل عمله حتى تصل.
fetch('/api/products')
.then(res => res.json())
.then(products => showProducts(products))
.catch(err => showError(err));
بصيغة async/await
await مبني على الوعود نفسها، لكنه أسهل في القراءة:
async function loadProducts() {
try {
const res = await fetch('/api/products');
showProducts(await res.json());
} catch (err) {
showError(err);
}
}
والخيارات الأخرى؟
- WebSockets: اتصال دائم لبيانات لحظية مثل الدردشة، وليس لطلب بيانات عادي.
- Generators: دوال يمكن إيقافها واستئنافها، وليست لجلب البيانات.