【发布时间】:2019-12-04 00:15:21
【问题描述】:
为了保持我的 node.js 架构整洁,我有控制器、服务和存储库。
数据流:控制器 -> 服务 -> 存储库 -> 服务 -> 控制器。 在这个流程中(在简单的用户故事中)存储库将数据返回给服务,将服务返回给控制器。但是存储库应该处理对外部存储的请求。
现在我遇到了回调困难,如何在控制器和存储库之间实现嵌套回调?
我的控制器:
exports.clientes_get = async function (req, res) {
Cliente.find(function(err,params) {
if (err)
res.send(err);
res.json(params);
});
}
我的服务:
ClienteGet(req) {
var response;
repo.get(req.params.clienteId, (err, res) => {
response = res;
//console.log(response); -> have data
});
//console.log(response); -> doesnt have data
return response;
};
我的仓库:
get(clienteId, data) {
mongoose.model('Cliente').findById(clienteId, data);
};
我该怎么做?
【问题讨论】:
标签: node.js service callback repository domain-driven-design