خاتمة

توفر JavaScript طريقة قوية للتعامل مع العمليات غير المتزامنة مع الوضوح والكفاءة. من خلال إتقان الوعود ، يمكنك كتابة أنظف وأكثر قابلية للصيانة وتجنب المزالق مثل Hellback Hell. ابدأ في التدريب مع الأساليب والأمثلة أعلاه ، وستكون في طريقك إلى إتقان JavaScript غير المتزامن!

","image":"http://www.luping.net/uploads/20250206/173884321667a4a4500cc53.jpg173884321667a4a4500cc5e.jpg","datePublished":"2025-02-06T20:51:32+08:00","dateModified":"2025-02-06T20:51:32+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > رفيق في جافا سكريبت

رفيق في جافا سكريبت

نشر في 2025-02-06
تصفح:302

Pomise In JavaScript

فهم وعود جافا سكريبت

الوعود هي ميزة قوية في JavaScript تبسيط التعامل مع العمليات غير المتزامنة. أنها توفر طريقة أنظف وأكثر سهولة للعمل مع رمز ASYNC ، وتجنب مشاكل مثل "Callback Hell."


ما هو الوعد؟

A الوعد هو كائن يمثل الانتهاء النهائي (أو الفشل) لعملية غير متزامنة وقيمتها الناتجة. يتيح لك كتابة رمز غير متزامن أكثر قابلية للإدارة من خلال عمليات التسلسل والتعامل مع الأخطاء بفعالية.

حالات الوعد

وعد له ثلاث حالات:

  • معلق : الحالة الأولية ، لم يتم الوفاء بها ولا رفضها.
  • تم الوفاء : الانتهاء من العملية بنجاح ، والوعد له قيمة ناتجة.
  • رفض : فشلت العملية ، والوعد به سبب للفشل (عادة خطأ).

مثال:

const promise = new Promise((resolve, reject) => {
  let success = true; // Change to false to simulate rejection

  if (success) {
    resolve("Operation was successful!");
  } else {
    reject("Operation failed.");
  }
});

promise
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

أساليب الوعد

1. ثم ()

  • تستخدم للتعامل مع الوفاء بوعد.
  • يعيد وعدًا آخر ، ويمكّن التسلسل.
promise
  .then((result) => {
    console.log(result);
    return "Next Step";
  })
  .then((nextResult) => console.log(nextResult));

2. catch ()

  • تستخدم للتعامل مع رفض الوعد.
promise.catch((error) => console.error(error));

3. أخيرًا ()

  • تستخدم لتنفيذ قطعة من الكود بغض النظر عن نتيجة الوعد.
promise.finally(() => console.log("Cleanup actions."));

4. الوعد. ()

  • يحل عندما يتم حل كل الوعود في صفيف.
  • يرفض على الفور إذا تم رفض أي وعد.
const promise1 = Promise.resolve(10);
const promise2 = Promise.resolve(20);

Promise.all([promise1, promise2]).then((results) => console.log(results));

5. وعد.

  • ينتظر كل الوعود للاستقرار (إما الوفاء أو الرفض).
const promise1 = Promise.resolve("Success");
const promise2 = Promise.reject("Error");

Promise.allSettled([promise1, promise2]).then((results) => console.log(results));

6. الوعد.

  • يحل أو يرفض حالما يحل أحد الوعود أو يرفض.
const promise1 = new Promise((resolve) => setTimeout(resolve, 500, "One"));
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, "Two"));

Promise.race([promise1, promise2]).then((result) => console.log(result));

7. الوعد. ()

  • يحل بمجرد الوفاء بأي من الوعود.
  • يرفض إذا تم رفض جميع الوعود.
const promise1 = Promise.reject("Error 1");
const promise2 = Promise.resolve("Success");
const promise3 = Promise.reject("Error 2");

Promise.any([promise1, promise2, promise3]).then((result) => console.log(result));

وعود التسلسل

يتيح التسلسل التعامل مع عمليات غير متزامنة متعددة بالتسلسل.

fetch("https://api.example.com/data")
  .then((response) => response.json())
  .then((data) => {
    console.log(data);
    return fetch("https://api.example.com/other-data");
  })
  .then((otherResponse) => otherResponse.json())
  .then((otherData) => console.log(otherData))
  .catch((error) => console.error("Error:", error));

خطأ في التعامل مع الوعود

تنتشر الأخطاء من خلال سلسلة الوعد حتى يتم القبض عليها بواسطة كتلة catch ().

fetch("https://api.example.com/data")
  .then((response) => {
    if (!response.ok) throw new Error("Network response was not ok");
    return response.json();
  })
  .then((data) => console.log(data))
  .catch((error) => console.error("Error:", error));

مثال قضية استخدام الحياة الواقعية

يمكنك استكشاف حالة استخدام مفصلة للوعود الخاصة بالوعود هنا:


خاتمة

توفر JavaScript طريقة قوية للتعامل مع العمليات غير المتزامنة مع الوضوح والكفاءة. من خلال إتقان الوعود ، يمكنك كتابة أنظف وأكثر قابلية للصيانة وتجنب المزالق مثل Hellback Hell. ابدأ في التدريب مع الأساليب والأمثلة أعلاه ، وستكون في طريقك إلى إتقان JavaScript غير المتزامن!

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/himanshusinghtomar/pomise-in-javascript-hog؟1 إذا كان هناك أي انتهاك ، فيرجى الاتصال بـ [email protected] لحذفه.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3