Return class 中的中间件
Return middleware in class
我有一个class带有中间件功能的,我想return。
在中间件中我想使用 this
语句,但现在它只是未定义。
Class :
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
}
}
Class 声明:
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())
如何在 returned 中间件中使用 this
?
validate
是一个回调,应该绑定到正确的 this
,例如class 字段:
private validate = (req, res, next) => { ... }
我有一个class带有中间件功能的,我想return。
在中间件中我想使用 this
语句,但现在它只是未定义。
Class :
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
}
}
Class 声明:
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())
如何在 returned 中间件中使用 this
?
validate
是一个回调,应该绑定到正确的 this
,例如class 字段:
private validate = (req, res, next) => { ... }