55 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: Window setTimeout Method | ||
|  | localeTitle: نافذة setTimeout الطريقة | ||
|  | --- | ||
|  | ## نافذة setTimeout الطريقة
 | ||
|  | 
 | ||
|  | استدعاء الأسلوب `setTimeout()` دالة أو تقييم تعبير بعد عدد محدد من مللي ثانية. | ||
|  | 
 | ||
|  | نصائح: | ||
|  | 
 | ||
|  | *   1000 ms = 1 ثانية. | ||
|  | *   يتم تنفيذ الوظيفة مرة واحدة فقط. إذا كنت بحاجة إلى تكرار التنفيذ ، استخدم الطريقة `setInterval()` . | ||
|  | *   استخدم الأسلوب `clearTimeout()` لمنع الوظيفة من التشغيل. | ||
|  | 
 | ||
|  | إن بناء جملة الأسلوب `setTimout()` كما يلي: | ||
|  | 
 | ||
|  |  `setTimeout(function, milliseconds, param1, param2, ...);  | ||
|  | `  | ||
|  | 
 | ||
|  | فمثلا: | ||
|  | 
 | ||
|  |  `setTimeout(function(){ alert("Hello"); }, 3000);  | ||
|  | `  | ||
|  | 
 | ||
|  | شيء مهم جداً حول `setTimeout()` هو أنه سيتم تنفيذه بشكل غير متزامن. لنأخذ مثال على ذلك: | ||
|  | 
 | ||
|  |  `console.log("A");  | ||
|  |  setTimeout(function(){ console.log("B"); }, 0);  | ||
|  |  console.log("C");  | ||
|  |  // The order in the console will be  | ||
|  |  // A  | ||
|  |  // C  | ||
|  |  // B  | ||
|  | `  | ||
|  | 
 | ||
|  | **ليس كما exepected! لكننا نحدد فقط 0 ثانية !!!** لحل هذه المشكلة والتأكد من تنفيذ الكود الخاص بنا بشكل متزامن ، يجب علينا فقط ضبط وحدة التحكم الأخيرة في الوظيفة | ||
|  | 
 | ||
|  |  `console.log("A");  | ||
|  |  setTimeout(function() {  | ||
|  |     console.log("B");  | ||
|  |     console.log("C");  | ||
|  |  }, 0);  | ||
|  |  // The order in the console will be  | ||
|  |  // A  | ||
|  |  // B  | ||
|  |  // C  | ||
|  | `  | ||
|  | 
 | ||
|  | #### معلومات اكثر:
 | ||
|  | 
 | ||
|  | الوثائق: [MDN](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setTimeout) | ||
|  | 
 | ||
|  | مزيد من الأمثلة عن وظيفة setTimeout: [w3schools](https://www.w3schools.com/jsref/met_win_settimeout.asp) | ||
|  | 
 | ||
|  | لفهم حقيقة ما يحدث تحت غطاء المحرك ، شاهد هذا الفيديو الرائع [فيليب روبرتس: ما هيك هو حلقة الحدث على أي حال؟ | JSConf EU 2014](https://www.youtube.com/watch?v=8aGhZQkoFbQ) |