"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > متى تكون عمليات الاسترجاعات في JavaScript غير متزامنة؟

متى تكون عمليات الاسترجاعات في JavaScript غير متزامنة؟

تم النشر بتاريخ 2024-11-03
تصفح:927

When Are JavaScript Callbacks Asynchronous?

عمليات الاسترجاعات في JavaScript: غير متزامنة أم لا؟

عمليات الاسترجاعات في JavaScript ليست غير متزامنة عالميًا. في سيناريوهات معينة، مثل المثال الذي قدمته مع وظائف addOne وsimpleMap، تعمل التعليمات البرمجية بشكل متزامن.

JavaScript غير متزامن في المتصفح

وظائف AJAX المستندة إلى رد الاتصال في jQuery غالبًا ما تكون غير متزامنة لأنها تتضمن طلبات XHR (XMLHttpRequest). بشكل افتراضي، تكون طلبات XHR في المتصفحات غير متزامنة، مما يسمح بتنفيذ البرنامج النصي المستمر أثناء معالجة الطلب.

JavaScript غير متزامن في Node.js

في Node.js، ينشأ السلوك غير المتزامن بشكل عام من عمليات الإدخال/الإخراج (I/O)، مثل إدخال/إخراج الملف، وprocess.nextTick، وsetTimeout، وsetInterval. تكون مكالمات قاعدة البيانات المستندة إلى رد الاتصال مع MongoDB/Mongoose غير متزامنة نظرًا لعمليات الإدخال/الإخراج الأساسية المتضمنة في التفاعل مع قاعدة البيانات.

المواقف غير المتزامنة المحددة مسبقًا

غالبًا ما يكون عدم التزامن متأصلة في البيئة. في المتصفح، تكون وظائف رد الاتصال المرتبطة بطلبات XHR غير متزامنة بطبيعتها. في Node.js، تكون عمليات الاسترجاعات المرتبطة بعمليات الإدخال / الإخراج غير متزامنة أيضًا.

وظائف غير متزامنة مخصصة

دون الاعتماد فقط على وظائف بيئية محددة، يمكنك تحقيق سلوك غير متزامن من خلال الاستفادة من وعود ES6. توفر الوعود آلية على مستوى اللغة لتحديد العمليات غير المتزامنة. يتم دائمًا تنفيذ وظائف رد الاتصال المرتبطة بالوعود (عبر ثم والالتقاط) بشكل غير متزامن، مما يضمن عدم حظر التعليمات البرمجية التي تتبع الوعد.

بيان الافراج أعيد طبع هذه المقالة على: 1729388836 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3