description

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

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

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

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

احتمال داره که 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 ( 970 تجربه )
6 ماه پیش

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

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