We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Koa 是级联执行的,只会执行一次。
用校验器来举例:
router.post('/app/mergeGroup', checkTokenMiddleware(), new MergeGroupValidator(), appController.mergeGroup)
如果像上面的代码,把校验器通过中间件的方式来使用, new 来生成一个实例,例如 foo.a = 1。在下一次再次请求的时候,把 a 改成 2。第一次的请求拿到的也会是 a = 2。因为只在第一次的时候生成了一个实例。
如果不使用中间件,而是每次请求接口,都生成一个实例,则不会有上面提到的影响。
static async mergeGroup (ctx) { const v = new MergeGroupValidator().validate(ctx) const groupIds = v.get('body.groupIds') }
所以,在使用中间件的时候,不要使用 new。 用函数则没有这种问题,但是函数不能像 new 一样方便保存变量。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Koa 是级联执行的,只会执行一次。
用校验器来举例:
如果像上面的代码,把校验器通过中间件的方式来使用, new 来生成一个实例,例如 foo.a = 1。在下一次再次请求的时候,把 a 改成 2。第一次的请求拿到的也会是 a = 2。因为只在第一次的时候生成了一个实例。
如果不使用中间件,而是每次请求接口,都生成一个实例,则不会有上面提到的影响。
所以,在使用中间件的时候,不要使用 new。 用函数则没有这种问题,但是函数不能像 new 一样方便保存变量。
The text was updated successfully, but these errors were encountered: