تایمر در جاوا اسکریپت


#1

می خوام یه تایمر در جاوا اسکریپت ایجاد کنم که ۱۰ دقیقه کار کنه بعد ۵ دقیقه وایسته بعد حالا ۱۰ دقیقه دیگه کار کنه!


#2

10 دقیقه به طور مداوم کار کنه؟ نمیفهمم


#3

آره ، ۱۰ دقیقه مثلا یه پیام رو در کنسول بنویسه ، ۵ دقیقه یه پیام دیگه و بعد ۱۰ دقیقه همون پیام اولیه


#4

این رو میشه با یه setInterval ساده هم نوشت ، مشکل زمانی پیش میاد که بخواهیم پیچیده کنیم زمان بندی رو.

مثلا برنامه Pomodoro که همه دیگه اسم اش رو شنیدیم. ( ۲۵ دقیقه کار ۵ دقیقه استراحت و بعد ۳ بار که این تکرار انجام میشه در تکرار آخر هم ۳۰ دقیقه کار )

این برنامه رو نوشتم و کار هم میکنه. چون یکم زیادی hardcode شد ، خواستم ببینم یه راه بهتر برای اون نیست مثل promise ها


#5

از یک setInterval استفاده کردم که زمان رو کم می کنه و برای تاخیر هم تابعی رو به صورت زیر نوشتم:

wait(milliseconds) {
	var startTime = new Date().getTime();
	while(true){
		if ((new Date().getTime() - startTime) > milliseconds) {
			break;
		}
	}
}