发出并发请求时,响应数据混合在一起。
路由控制器将依赖项注入到用例函数中。
路由控制器
const fromAdaptReq = require('../../utils/adapt-req');
...other imports
router.get('/v1/getList', async (req, res, next) => {
try {
const request = {
locals: res.locals,
lang: res.locals.lang
};
const userCase = new fromUsersCase
.user
.user
.getList({
createError: customError.CustomError,
translate,
request: request,
db: fromDB.database,
});
const result = await userCase.execute();
return res.status(200).json({
msg: result.msg,
data: result.data,
error: false
});
} catch (error) {
console.log(error)
next(error);
}
}
搜索列表功能用于调用查询功能
搜索列表功能
exports.getList = function ({ createError, translate, request, db }) {
return Object.freeze({
execute: async () => {
try {
const userId = parseInt(request.locals.userId);
const searchList= await fromServices
.getPhonebook(request.lang, createError, translate, { userId, db });
return {
msg: 'List',
data: { list: searchList}
}
} catch (error) {
if (error instanceof createError) {
throw error;
}
console.log(error);
throw new Error(error.message);
}
}
})
}
答案 0 :(得分:0)
我发现我正在使用全局变量将用户ID存储在fromService
函数中,该函数根据用户ID执行查询以生成列表。
更改阻止的范围已修复错误 谢谢