Итак, я создал класс и понятия не имею, почему не могу получить экземпляр this
внутри одного метода.
Итак, в моем роутере я вызываю такой метод
import Emails from '../controllers/emails'
import router from 'express'
....
route.post('/', Emails.setupEmail)
поэтому после вызова метода POST
он вызывает метод setupEmail
, но вылетает с сообщением:
TypeError: Невозможно прочитать свойство 'availableEmailTypes' из неопределенного
и код класса:
class Emails {
constructor() {
this.availableEmailTypes = ['registration', 'forgot-password', 'two-factor']
}
setupEmail(req, res) {
if (!req.body.type || !req.body.type.include(this.availableEmailTypes)) {
return res.status(422).send({ success: false, message: 'Invalid email type' })
}
switch (req.body.type) {
case 'registration':
break
}
}
}
export default new Emails()
поэтому главный вопрос - почему я не могу получить массив, созданный в конструкторе?