اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

fetch ليس الغرض منها تحديد كمية البيانات، فالمتحكم هو المسؤول الأول والأساسي عن تلك العملية، حيث أن fetch هي مجرد وسيلة نقل للطلب من المتصفح إلى الخادم، ولا تملك أي صلاحية للوصول المباشر إلى قاعدة البيانات أو التحكم في كيفية استرجاع البيانات منها.

يتوجب عليك كتابة المنطق الخاص بتقسيم البيانات داخل المتحكم في الواجهة الخلفية، لأنّ عملية جلب البيانات تعتمد على استعلامات SQL أو NoSQL التي يتم تنفيذها على الخادم، فالمتصفح يرسل فقط الرغبة في الحصول على عدد معين عبر Query Parameters، ويجب على الخادم أن يفهم تلك الرغبة وينفذها.

بمعنى تبدأ العملية عندما تقوم بإرسال الطلب عبر fetch بتمرير المعايير مثل ?limit=10 ضمن الرابط، والتي يستقبلها المتحكم ويقوم بقراءة تلك القيم ومعالجتها، ثم دمجها داخل استعلام قاعدة البيانات باستخدام أوامر مثل LIMIT و OFFSET، وبالتالي يتم استخراج العشرة صفوف المطلوبة فقط من القرص الصلب للخادم وإرسالها عبر الشبكة.

وفي حال لا يوجد ذاك المنطق في الخلفية، فسيقوم الخادم بتجاهل تلك المعاملات المرسلة في الرابط، وسيعيد كامل محتوى الجدول في قاعدة البيانات، بالتالي fetch ستقوم بتحميل حجم بيانات ضخم، ويتدهور الأداء حتى لو قمت بعرض جزء صغير منها لاحقاً بواسطة جافاسكريبت، فالهدف الأساسي هو تقليل البيانات المنقولة عبر الشبكة وليس فقط تقليل المعروض على الشاشة.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...