مشکل با setInterval و کرش کردن مرورگر کروم

- 11 ماه پیش
توسط mahdi motamedi آپدیت شد
mahdi ( 332 تجربه )
11 ماه پیش

سلام
من پروژه ای رو با vuejs و laravel پیاده کردم و در جایی از این پروژه قصد دارم هر سه ثانیه یک بار با استفاده از setInterval و axios یک عددی رو دریافت و نمایش بدم.
متوجه شدم بعد از چند دقیقه مرورگر Crash می کنه و بسته می شه. وقتی Task های کروم رو بررسی کردم دیدم تنها این صفحه چند گیگ از رم رو اشغال می کنه و موجب کرش کردن صفحه می شه.
ممنون می شم راهنمایی کنید.

بهترین پاسخ انتخاب شده توسط mahdi
mahdi motamedi
11 ماه پیش

احتمال داره که setInterval هاتون تو در تو داره فراخوانی و ساخته میشه. کدهاتون رو چک کنید و setInterval رو به صورت زیر به عنوان یک method بسازید چون کدهای داخل فریم ورک بارها و بارها در رویدادهای مختلف مجدد اجرا میشن.

todo: function(){           
    this.intervalid1 = setInterval(function(){
        this.changes = ((Math.random() * 100).toFixed(2))+'%';
        console.log (this.changes);
    }.bind(this), 3000);
}
mahdi motamedi ( 1745 تجربه )
11 ماه پیش

احتمال داره که setInterval هاتون تو در تو داره فراخوانی و ساخته میشه. کدهاتون رو چک کنید و setInterval رو به صورت زیر به عنوان یک method بسازید چون کدهای داخل فریم ورک بارها و بارها در رویدادهای مختلف مجدد اجرا میشن.

todo: function(){           
    this.intervalid1 = setInterval(function(){
        this.changes = ((Math.random() * 100).toFixed(2))+'%';
        console.log (this.changes);
    }.bind(this), 3000);
}
برای ارسال پاسخ باید وارد سایت شوید