آفلاین
user-avatar

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

3 سال پیش
توسط مهدی معتمدی آپدیت شد
آفلاین
user-avatar
mahdi ( 9127 تجربه )
3 سال پیش
تخصص : برنامه نویس ...

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

بهترین پاسخ انتخاب شده توسط mahdi
آفلاین
user-avatar
مهدی معتمدی
3 سال پیش

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

todo: function(){           
    this.intervalid1 = setInterval(function(){
        this.changes = ((Math.random() * 100).toFixed(2))+'%';
        console.log (this.changes);
    }.bind(this), 3000);
}
آفلاین
user-avatar
مهدی معتمدی ( 8020 تجربه )
3 سال پیش
تخصص : برنامه نویس FullStack

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

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