Когда выдается сообщение об ошибке «Не удается прочитать свойство 'имя_свойства' с неопределенным значением», вам необходимо понять, что не определено?
Так что вы делаете что-то вроде «this.undefined.then».
this._refreshData ничего не возвращает, поэтому вы звоните по неопределенному. this._refreshData должен возвращать что-то, что затем имеет свойство: я думаю, вам нужно вернуть Promise.
Что-то вроде:
_refreshData(course) {
return new Promise((resolve, reject) => {
//get data
// resolve(data) or reject(error)
}
}
Я не знаю, как вы реализовали свой магазин и ваши компоненты, поэтому я не могу сказать что-то еще.
Может быть, эта ссылка может вам помочь.