W3Schools - Fetch API

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. W3Schools - Fetch API: دليل شامل للمبتدئين

مقدمة

في عالم تطوير الويب الحديث، أصبحت القدرة على استرداد البيانات من الخوادم ومعالجتها أمراً بالغ الأهمية. Fetch API هي واجهة برمجة تطبيقات (API) قوية ومرنة توفر طريقة حديثة وفعالة لإجراء طلبات الشبكة في جافاسكربت. تعتبر Fetch API بديلاً قوياً لـ XMLHttpRequest (XHR)، وتقدم العديد من المزايا بما في ذلك بناء الجملة الأكثر وضوحًا، والتعامل الأفضل مع الوعود (Promises)، والمرونة الأكبر في التعامل مع أنواع البيانات المختلفة. هذا المقال يهدف إلى تقديم شرح شامل لـ Fetch API للمبتدئين، مستنداً إلى المعلومات المقدمة في W3Schools ومصادر أخرى، مع ربطها بمفاهيم ذات صلة في عالم الخيارات الثنائية والتحليل الفني.

ما هي Fetch API؟

Fetch API هي واجهة برمجة تطبيقات جافاسكربت تسمح لك بتقديم طلبات HTTP إلى الخوادم واسترداد البيانات منها. إنها ليست ميزة حصرية لمتصفحات الويب الحديثة، بل هي جزء من معيار الويب، مما يعني أنها متاحة في معظم المتصفحات الرئيسية. تتميز Fetch API ببساطتها وفعاليتها، وتقدم طريقة أكثر تنظيمًا للتعامل مع طلبات الشبكة مقارنة بـ XMLHttpRequest.

الفرق بين Fetch API و XMLHttpRequest

| الميزة | Fetch API | XMLHttpRequest (XHR) | |---|---|---| | بناء الجملة | أكثر وضوحًا وبساطة | معقدة وأكثر تفصيلاً | | التعامل مع الوعود | تعتمد على الوعود (Promises) بشكل أساسي | تعتمد على ردود الاتصال (Callbacks) | | معالجة الأخطاء | أكثر فعالية وسهولة | أقل فعالية وأكثر تعقيدًا | | دعم أنواع البيانات | أكثر مرونة في التعامل مع أنواع البيانات المختلفة | محدود في التعامل مع أنواع البيانات | | إمكانية الإلغاء | توفر طريقة سهلة لإلغاء الطلبات | الإلغاء أكثر تعقيدًا |

استخدام Fetch API: الأساسيات

جوهر استخدام Fetch API يكمن في دالة `fetch()`. تأخذ هذه الدالة عنوان URL للمورد الذي تريد استرداده كوسيطة، وترجع وعدًا (Promise). الوعد يمثل النتيجة النهائية للعملية غير المتزامنة (asynchronous operation).

مثال بسيط

```javascript fetch('https://api.example.com/data')

 .then(response => response.json())
 .then(data => console.log(data))
 .catch(error => console.error('حدث خطأ:', error));

```

في هذا المثال:

  • `fetch('https://api.example.com/data')` : يبدأ طلب HTTP إلى عنوان URL المحدد.
  • `.then(response => response.json())` : عندما يتم استلام الاستجابة بنجاح، يتم تحويلها إلى تنسيق JSON. هذه خطوة مهمة لأن معظم واجهات برمجة التطبيقات (APIs) ترجع البيانات بتنسيق JSON.
  • `.then(data => console.log(data))` : بعد تحويل الاستجابة إلى JSON، يتم تسجيل البيانات في وحدة التحكم (console).
  • `.catch(error => console.error('حدث خطأ:', error))` : إذا حدث أي خطأ أثناء العملية، يتم التقاطه وتسجيله في وحدة التحكم.

فهم الوعود (Promises)

الوعود (Promises) هي مفهوم أساسي في جافاسكربت الحديثة، وتستخدم على نطاق واسع مع Fetch API. الوعود تمثل قيمة قد لا تكون متاحة بعد. لديهم ثلاثة حالات محتملة:

  • Pending (معلق): الحالة الأولية، حيث لم يتم تحقيق الوعد أو رفضه بعد.
  • Fulfilled (متحقق): تم تحقيق الوعد بنجاح، وتتوفر القيمة.
  • Rejected (مرفوض): فشل الوعد، وهناك سبب للفشل.

دالتا `.then()` و `.catch()` تستخدمان للتعامل مع حالات التحقق والرفض على التوالي.

خيارات Fetch API

دالة `fetch()` تقبل كائنًا ثانيًا كوسيطة، يسمح لك بتخصيص الطلب. بعض الخيارات الشائعة تشمل:

  • method: يحدد طريقة HTTP المستخدمة (GET, POST, PUT, DELETE, etc.). الافتراضي هو GET.
  • headers: يسمح لك بتعيين رؤوس HTTP للطلب.
  • body: يحتوي على البيانات التي سيتم إرسالها مع الطلب (عادةً في طلبات POST أو PUT).
  • mode: يحدد وضع الشبكة المستخدم (cors, no-cors, same-origin).
  • cache: يتحكم في سلوك التخزين المؤقت (cache).

مثال مع خيارات

```javascript fetch('https://api.example.com/data', {

 method: 'POST',
 headers: {
   'Content-Type': 'application/json'
 },
 body: JSON.stringify({
   key1: 'value1',
   key2: 'value2'
 })

})

 .then(response => response.json())
 .then(data => console.log(data))
 .catch(error => console.error('حدث خطأ:', error));

```

التعامل مع الاستجابات (Responses)

عندما يتم استلام الاستجابة من الخادم، يتم تمثيلها بكائن `Response`. يوفر هذا الكائن معلومات حول الاستجابة، مثل حالة HTTP، والرؤوس، والبيانات. بعض الطرق الشائعة للتعامل مع كائن `Response` تشمل:

  • `response.json()`: يقوم بتحويل نص الاستجابة إلى كائن JSON.
  • `response.text()`: يقوم بتحويل نص الاستجابة إلى سلسلة نصية.
  • `response.blob()`: يقوم بتحويل نص الاستجابة إلى كائن Blob (Binary Large Object).
  • `response.formData()`: يقوم بتحويل نص الاستجابة إلى كائن FormData.
  • `response.status`: يحصل على رمز حالة HTTP.
  • `response.ok`: يعيد `true` إذا كان رمز الحالة يشير إلى نجاح (200-299).

التعامل مع الأخطاء

من المهم التعامل مع الأخطاء بشكل صحيح عند استخدام Fetch API. يمكن أن تحدث الأخطاء لأسباب مختلفة، مثل:

  • مشاكل في الشبكة: عدم وجود اتصال بالإنترنت، أو فشل في الاتصال بالخادم.
  • أخطاء في الخادم: الخادم غير متاح، أو يعيد رمز حالة خطأ.
  • أخطاء في البيانات: البيانات التي تم استردادها غير صالحة.

يمكنك استخدام `.catch()` للتعامل مع الأخطاء، كما هو موضح في الأمثلة السابقة. يمكنك أيضاً التحقق من خاصية `response.ok` للتأكد من أن الاستجابة ناجحة قبل معالجتها.

Fetch API والخيارات الثنائية: تطبيقات محتملة

يمكن استخدام Fetch API في عالم الخيارات الثنائية بعدة طرق، على سبيل المثال:

  • **استرداد بيانات الأسعار:** يمكن استخدام Fetch API لاسترداد بيانات أسعار الأصول المالية من مصادر مختلفة، مثل واجهات برمجة التطبيقات (APIs) للمال أو مزودي البيانات المالية. هذه البيانات يمكن استخدامها لاتخاذ قرارات تداول مستنيرة.
  • **تنفيذ استراتيجيات التداول الآلي:** يمكن دمج Fetch API مع استراتيجيات التداول الآلي لتقديم طلبات تداول تلقائية بناءً على شروط محددة. على سبيل المثال، يمكن لبرنامج جافاسكربت استخدام Fetch API لاسترداد بيانات الأسعار، وتحليلها باستخدام المؤشرات الفنية، وتقديم طلب تداول إذا تم استيفاء شروط معينة. استراتيجيات مثل Martingale و Anti-Martingale يمكن تنفيذها بشكل آلي.
  • **تحليل حجم التداول:** يمكن استخدام Fetch API لاسترداد بيانات حجم التداول وتحليلها لتحديد الاتجاهات والأنماط.
  • **الوصول إلى بيانات التحليل الفني:** يمكن استرداد بيانات التحليل الفني مثل مؤشر القوة النسبية (RSI) و المتوسطات المتحركة من مصادر مختلفة باستخدام Fetch API.
  • **التحقق من حالة الحساب:** يمكن استخدام Fetch API للتحقق من حالة حساب التداول، مثل الرصيد المتاح، والمراكز المفتوحة، وسجل التداولات.
  • **استرداد بيانات الشموع اليابانية (Candlesticks):** تعتبر بيانات الشموع اليابانية أساسية في التحليل الفني. Fetch API يمكن استخدامها لاسترداد هذه البيانات من منصات التداول أو مزودي البيانات.
  • **تطبيق استراتيجية التقاطع الذهبي (Golden Cross):** يمكن باستخدام Fetch API الحصول على بيانات الأسعار التاريخية وتطبيق استراتيجية التقاطع الذهبي.
  • **تطبيق استراتيجية التقاطع الميت (Death Cross):** على غرار التقاطع الذهبي، يمكن استخدام Fetch API لتطبيق استراتيجية التقاطع الميت.
  • **تحليل أنماط الشموع اليابانية (Candlestick Patterns):** يمكن استخدام Fetch API للحصول على بيانات الشموع اليابانية وتحليلها للبحث عن أنماط مثل Hammer و Engulfing.
  • **استخدام مؤشر بولينجر باندز (Bollinger Bands):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وحساب مؤشر بولينجر باندز.
  • **تطبيق استراتيجية Breakout (الاختراق):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وتحديد مستويات الدعم والمقاومة وتطبيق استراتيجية الاختراق.
  • **استخدام مؤشر MACD (Moving Average Convergence Divergence):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وحساب مؤشر MACD.
  • **تطبيق استراتيجية Fibonacci Retracements (نسب فيبوناتشي):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وتحديد مستويات الدعم والمقاومة باستخدام نسب فيبوناتشي.
  • **تحليل حركة السعر (Price Action):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وتحليل حركة السعر.
  • **استخدام مؤشر ستوكاستيك (Stochastic Oscillator):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وحساب مؤشر ستوكاستيك.
  • **تطبيق استراتيجية الرأس والكتفين (Head and Shoulders):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وتحديد نمط الرأس والكتفين.
  • **التحقق من تقلبات السوق (Market Volatility):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وحساب تقلبات السوق.
  • **استخدام مؤشر ATR (Average True Range):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وحساب مؤشر ATR.
  • **تطبيق استراتيجية الارتداد (Bounce):** يمكن استخدام Fetch API للحصول على بيانات الأسعار التاريخية وتحديد مستويات الدعم والمقاومة وتطبيق استراتيجية الارتداد.
  • **التحقق من أخبار السوق (Market News):** يمكن استخدام Fetch API للحصول على أخبار السوق وتحليل تأثيرها على الأسعار.
  • **تطبيق استراتيجية المضاربة اليومية (Day Trading):** يمكن استخدام Fetch API للحصول على بيانات الأسعار الحالية وتطبيق استراتيجيات المضاربة اليومية.
  • **التحقق من التقويم الاقتصادي (Economic Calendar):** يمكن استخدام Fetch API للحصول على بيانات التقويم الاقتصادي وتحليل تأثيرها على الأسعار.

نصائح وأفضل الممارسات

  • **التحقق من صحة البيانات:** تأكد من التحقق من صحة البيانات التي تم استردادها من الخادم قبل استخدامها.
  • **التعامل مع الأخطاء بشكل صحيح:** قم بتنفيذ معالجة الأخطاء بشكل صحيح لتجنب الأعطال غير المتوقعة.
  • **استخدام الوعود (Promises) بشكل فعال:** استفد من قوة الوعود لتبسيط الكود وجعله أكثر قابلية للقراءة.
  • **الاهتمام بالأداء:** حاول تقليل عدد الطلبات إلى الخادم لتحسين الأداء.
  • **استخدام CORS بشكل صحيح:** تأكد من أن الخادم يدعم CORS إذا كنت تقوم بإجراء طلبات من نطاق مختلف.

الخلاصة

Fetch API هي أداة قوية ومرنة تسمح لك بإجراء طلبات HTTP في جافاسكربت بطريقة حديثة وفعالة. من خلال فهم الأساسيات والخيارات المتاحة، يمكنك استخدام Fetch API لبناء تطبيقات ويب قوية وفعالة، بما في ذلك تطبيقات الخيارات الثنائية التي تعتمد على التحليل الفني. استمر في التدريب والتجريب لتعزيز مهاراتك في استخدام Fetch API.

XMLHttpRequest Promises JSON HTTP CORS واجهات برمجة التطبيقات (APIs) الخيارات الثنائية التحليل الفني مؤشر القوة النسبية (RSI) المتوسطات المتحركة حجم التداول استراتيجيات التداول الآلي Martingale Anti-Martingale الشموع اليابانية مؤشر MACD مؤشر بولينجر باندز Fibonacci Retracements التقاطع الذهبي التقاطع الميت أنماط الشموع اليابانية مؤشر ستوكاستيك الرأس والكتفين تقلبات السوق مؤشر ATR الارتداد أخبار السوق المضاربة اليومية التقويم الاقتصادي

ابدأ التداول الآن

سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер