Azure 移动应用程序 - Table 中间件
Azure Mobile Apps - Table Middleware
我正在使用 Azure 移动应用程序的节点应用程序。
我有一个 Easy Table,它的读取操作看起来像这样:
table.read(function (context) {
context.query.where({ _user_id: context.req.userId });
return context.execute();
});
现在我想在该函数运行之前添加一些中间件,将 userId 添加到请求中,所以我认为我应该做这样的事情:
table.use((req,res,next) => {
req.userId = "1234";
next();
}, table.operation);
现在,在 table.read
中,如果 console.log(context.req.userId)
结果是正确的,但由于某种原因在添加 .use
之后,context.query
变得不确定。当我起飞 table.use
时,context.query.where({ _user_id: "1234" })
完美运行。
我应该如何在 Azure 移动应用程序中正确执行此中间件?为什么定义 table.use
与 context.query
混淆?
尝试在应用程序级别添加中间件:
mobileApp.use((req, res, next) => {
req.userId = "1234";
next();
});
mobileApp.tables.import('./tables');
mobileApp.api.import('./api');
我正在使用 Azure 移动应用程序的节点应用程序。
我有一个 Easy Table,它的读取操作看起来像这样:
table.read(function (context) {
context.query.where({ _user_id: context.req.userId });
return context.execute();
});
现在我想在该函数运行之前添加一些中间件,将 userId 添加到请求中,所以我认为我应该做这样的事情:
table.use((req,res,next) => {
req.userId = "1234";
next();
}, table.operation);
现在,在 table.read
中,如果 console.log(context.req.userId)
结果是正确的,但由于某种原因在添加 .use
之后,context.query
变得不确定。当我起飞 table.use
时,context.query.where({ _user_id: "1234" })
完美运行。
我应该如何在 Azure 移动应用程序中正确执行此中间件?为什么定义 table.use
与 context.query
混淆?
尝试在应用程序级别添加中间件:
mobileApp.use((req, res, next) => {
req.userId = "1234";
next();
});
mobileApp.tables.import('./tables');
mobileApp.api.import('./api');