PDA

View Full Version : سوال: استفاده از تابع settimeout با فراخوانی بازگشتی



a.besharat
یک شنبه 13 مهر 1399, 12:35 عصر
سلام به همه دوستان
یه سوال داشتم که هرچی سرچ میکنم و به منطقش فکر میکنم به نتیجه ای نمیرسم ممنون میشم راهنمایی بفرمایید.
چرا این کد بین اجرا ها فاصله زمانی را رعایت نمیکنه و همه را عملا با هم اجرا میکنه؟مگه به صورت بازگشتی نیست یعنی تا زمانی که تابع فراخوانی نشده عملا settimeout هم نباید فراخوانی بشه.

var counter=0;function A(){

if(counter<10)
{
console.log(counter);
counter++;
setTimeout(A(),2800);
}
}


A();

ممنونم از همه دوستان

plague
دوشنبه 14 مهر 1399, 09:47 صبح
باید بزاری قسمت اجرایی رو توی یک تابع

setTimeout(()=>{A()},2800);

a.besharat
شنبه 17 آبان 1399, 12:23 عصر
باید بزاری قسمت اجرایی رو توی یک تابع

setTimeout(()=>{A()},2800);



سلام دوست عزیز
من راهنمایی شما درست متوجه شدم؟چطور قسمت اجزاریی را توی تابع تعریف کنم؟ قسمت اجرایی خودش همون تابعی است که داخلش از settimeout استفاده کردم. عملا بازگشتی هستن.

plague
یک شنبه 18 آبان 1399, 10:46 صبح
تابع A رو توی یک تابع بینام صدا کن
من کدش رو گزاشتم برات چطور نداره
اینم ورژن نسخه قدیمی تر



setTimeout(function(){A()},2800);