شبكة تعلم مع ناو

كيف أجلب بيانات من الخادم دون تجميد تطبيق JavaScript؟ (Promises)

نستخدم الوعود (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: دوال يمكن إيقافها واستئنافها، وليست لجلب البيانات.

اختبر نفسك

خمسة أسئلة سريعة، مع الإجابة والشرح بعد كل سؤال.