می خوام یه تایمر در جاوا اسکریپت ایجاد کنم که ۱۰ دقیقه کار کنه بعد ۵ دقیقه وایسته بعد حالا ۱۰ دقیقه دیگه کار کنه!
10 دقیقه به طور مداوم کار کنه؟ نمیفهمم
آره ، ۱۰ دقیقه مثلا یه پیام رو در کنسول بنویسه ، ۵ دقیقه یه پیام دیگه و بعد ۱۰ دقیقه همون پیام اولیه
این رو میشه با یه setInterval ساده هم نوشت ، مشکل زمانی پیش میاد که بخواهیم پیچیده کنیم زمان بندی رو.
مثلا برنامه Pomodoro که همه دیگه اسم اش رو شنیدیم. ( ۲۵ دقیقه کار ۵ دقیقه استراحت و بعد ۳ بار که این تکرار انجام میشه در تکرار آخر هم ۳۰ دقیقه کار )
این برنامه رو نوشتم و کار هم میکنه. چون یکم زیادی hardcode شد ، خواستم ببینم یه راه بهتر برای اون نیست مثل promise ها
از یک setInterval استفاده کردم که زمان رو کم می کنه و برای تاخیر هم تابعی رو به صورت زیر نوشتم:
wait(milliseconds) {
var startTime = new Date().getTime();
while(true){
if ((new Date().getTime() - startTime) > milliseconds) {
break;
}
}
}