JavaScript - Async / Await – برمجة غير متزامنة بشكل مبسط
JavaScript - Async / Await – برمجة غير متزامنة بشكل مبسط
🔸 async / await هي طريقة حديثة ومبسطة للتعامل مع الوعود (Promises) في JavaScript. تجعل الكود غير المتزامن يبدو وكأنه متزامن، مما يُسهل القراءة والفهم.
---🔹 كلمة async
async function sayHello() {
return "أهلاً!";
}
sayHello().then(msg => console.log(msg)); // أهلاً!
📌 أي دالة تُسبق بـ async تُرجع تلقائيًا Promise.
🔹 استخدام await داخل async
function wait(ms) {
return new Promise(resolve => {
setTimeout(() => resolve("تم الانتظار"), ms);
});
}
async function run() {
console.log("ابدأ");
const msg = await wait(2000);
console.log(msg); // تم الانتظار
console.log("انتهى");
}
run();
📌 await توقف التنفيذ حتى تكتمل الـ Promise ثم تُعيد النتيجة.
🔹 التعامل مع الأخطاء باستخدام try / catch
async function fetchData() {
try {
let response = await fetch("https://api.example.com/data");
let data = await response.json();
console.log(data);
} catch (error) {
console.error("حدث خطأ:", error);
}
}
---
📌 مزايا async / await
- تُسهل قراءة الكود المعقد.
- تُزيل الحاجة إلى .then() و .catch() المتعددة.
- تُشبه الكود المتزامن في المظهر والسلوك.
⚠️ ملاحظات مهمة
- يجب استخدام
awaitفقط داخل دالةasync. - أي خطأ غير مُعالج داخل
awaitسيُسبب رفض (reject) للـ Promise.
تعليقات
إرسال تعليق