У меня есть класс с функцией промежуточного программного обеспечения, который я хочу вернуть.В промежуточном программном обеспечении я хочу использовать оператор this
, но теперь он просто не определен.Класс:
export class Validator {
constructor(options: validatorOptions) {
this.schema = options.schema
this.validateRequest = options.validateRequest
this.validateResponse = options.validateResponse
}
private validate(req, res, next) {
console.log(this.schema) //undefined
}
public getValidator() {
return this.validate
}
}
Объявление класса:
import {Validator} from './validator/validator'
export const validator = () => {
const config = {
schema,
validateRequest: true,
validateResponse: true
}
let v = new Validator(config)
return v.getValidator()
}
Использование промежуточного программного обеспечения:
import { validator } from './middleware'
app.use(validator())
Как использовать this
в возвращенном промежуточном программном обеспечении?