【发布时间】:2019-01-22 14:04:21
【问题描述】:
我有一个同构的 react 应用程序,我想以某种方式在 express 中间件之间传递状态。
我有以下处理表单提交的快速路由:
export const createPaymentHandler = async (req: Request, res: Response, next: NextFunction) => {
const { field } = req.body;
if (!paymentType) {
res.locals.syncErrors = { field: 'some error.' };
next();
return;
}
try {
const { redirectUrl } = await makeRequest<CreatePaymentRequest, CreatePaymentResponse>({
body: { paymentType },
method: HttpMethod.POST
});
res.redirect(redirectUrl);
} catch (err) {
error(err);
res.locals.serverError = true;
next();
}
};
下一个中间件正在处理渲染。
目前我正在使用res.locals,有没有更好的方法或公认的模式?
【问题讨论】:
-
不是专家,但在异步方法中,您可以将错误/错误作为文本文件写入文件夹。同时,您将在 Node 中设置一个事件侦听器来查看此文件夹,这将由文件夹状态更改时的操作系统..
标签: javascript node.js reactjs express