تابستون داره تموم میشه ها، فرصت‌ها محدودن کلی آفر جذاب در کمپین تابستون🔥👇
۰ ثانیه
۰ دقیقه
۰ ساعت
۰ امیر محمود کنگرلو
رفع باگ در اسم گذاری تابع. رفع error خط 40 و 44
جامعه جاوا اسکریپت ایجاد شده در ۱۳ دی ۱۴۰۰

با سلام خدمت استاد محترم و تشکر بابت آموزش این جلسه.

نکته که می‌خواستم عرض کنم این است که ما در خط 48 کد مقدار setInterval را برابر this._clearSetProgress قرار دادیم.

بعد در خط 54 دوباره تابعی با همین نام گذاشتیم که مقدار interval را clear کند. در اینجا ما از یک نام 2 بار استفاده کردیم، (یک بار برای نام متغییر برای ذخیره سازی، بار دوم برای اسم تابع) که این کار اشتباه است و باعث به وجود آمدن error not a function در هنگام pause و ended می‌شود. یعنی عملا تابع زیر (خط 54 تا 56 کد) کار نمی کند.

    _clearSetProgress() {
        clearInterval(this._clearSetProgress)
    }

راه حل:

برای درست شدن این مشکل و رفع خطا به وجود آمده کافی است نام تابع یا متغییر را تغییر دهیم. به عنوان مثال کد زیر :

    _startProgress() {
        this._clearProgress = setInterval(() => {
            const {currentTime, duration} = this._player
            this._progressBar.style.width = `${(currentTime / duration) * 100}%`
        }, 50);
    }
    _clearSetProgress() {
        clearInterval(this._clearSetProgress)
    }

موفق باشید.