Задать итерацию в функции TypeScript неправильно - PullRequest
0 голосов
/ 15 мая 2018

Я продолжаю получать это сообщение в консоли, когда пытаюсь запустить приведенный ниже код: «undefined не является объектом (оценивает this.courseAvailThisTerm ')».Функция courseAvailThisTerm () работает правильно, поскольку работает в других контекстах.У кого-нибудь есть идея, почему я продолжаю получать это сообщение об ошибке?Я пытался изменить версию цикла for, но это тоже не работает.

for(let quarter of degreePlan) {
    foundationCourseSet.forEach(function(fc) {
            if(this.courseAvailThisTerm(fc, quarter.term))
                console.log("It was avail!");
        });
}

1 Ответ

0 голосов
/ 15 мая 2018

Попробуйте это:

for(let quarter of degreePlan) {
    foundationCourseSet.forEach((fc) => {
            if(this.courseAvailThisTerm(fc, quarter.term))
                console.log("It was avail!");
        });
}

Я изменяю function (fc) {..} на функцию стрелки (fc) => {...}, которая сохраняет this в контексте выполнения функции.

...