if(reg.test(ctx.request.body.username)){ const middlewareFn = compose([loginPhoneValid]); await middlewareFn(ctx); }else{ const middlewareFn = compose([loginValid]); await middlewareFn(ctx); } await next()调用的中间件报错了,并且是returnctx.body返回怎么会卡,跟调用只传了ctx有关吗
时间: 2024-02-29 21:55:44 浏览: 60
gdip.zip_Libabry_anigif.ctx_gdi_plus_vb gdi
如果调用的中间件报错并且是使用 `return ctx.body` 返回,那么可能是因为中间件没有正确返回或者是响应的数据格式不正确导致的。在调用中间件时,你需要确保中间件正确地处理了请求,并且将正确的响应数据返回。如果中间件没有正确返回或者是响应的数据格式不正确,那么就会导致后续的代码卡住。
至于只传了 `ctx` 是否有关系,需要根据具体情况来判断。如果中间件需要其他的参数或者上下文信息来正确处理请求,那么只传递 `ctx` 可能会导致中间件无法正常工作。你需要仔细查看中间件的文档或者代码来确定它需要哪些参数或者上下文信息,并确保正确传递。
阅读全文