Mohamed Lamin Mahmoudi نشر 20 يوليو 2022 أرسل تقرير نشر 20 يوليو 2022 في إحدى دروس الجافا سكريبت على اليوتيوب سمعت المدرس يقول في مثل هذه الحالة setTimeout(()=>{ console.log("web api"); },0); function one(){ console.log("one"); } one(); أن call Stack يترك Web API methode لل browser لكي يتعامل معها أي في هذه الحالة تطبع one ثم web api ما معنى هذا الكلام ؟ هل كل تعليمة في الجاف سكريبت تنفذ قبل تعليمات web API methode ? 1 اقتباس
0 Wael Aljamal نشر 20 يوليو 2022 أرسل تقرير نشر 20 يوليو 2022 سبب عدم تنفيذ دالة callback بنفس لحظة انتهاء تعريف قسم setTimeout أن الأخيرة تقوم بتعريف حدث غير متزامن asynchronously تضيفه لحلقة الأحداث Event Loop ليتم تنفيذه بعد مضي x من الوقت. وبما أن باقي الشيفرة لديك هي تسلسلية، فإن setTimeout بقيمة 0 سوف تجعل هذه الدالة تنفذ في أول لحظة مناسبة (مع أقل تأخير) بعد انتهاءاها من الأجزاء الأخرى التي تكون قيد التنفيذ. لو أضفت setTimeout أخرى مع تأخير 0 أيضاً، سيتم تنفيذها بنفس تسلسل تعريفهم setTimeout(()=>{ console.log("web api 2"); },0); setTimeout(()=>{ console.log("web api 1"); },0); function one(){ console.log("one"); } one(); one web api 2 web api 1 اقتباس
السؤال
Mohamed Lamin Mahmoudi
في إحدى دروس الجافا سكريبت على اليوتيوب سمعت المدرس يقول في مثل هذه الحالة
أن call Stack يترك Web API methode لل browser لكي يتعامل معها
أي في هذه الحالة تطبع one ثم web api ما معنى هذا الكلام ؟
هل كل تعليمة في الجاف سكريبت تنفذ قبل تعليمات web API methode ?
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.