小编Dio*_*ins的帖子

Node JS 中的控制器、服务和存储库架构

为了保持 Node.js 架构的整洁,我有控制器、服务和存储库。

数据流向:控制器->服务->存储库->服务->控制器。在此流程中(在简单的用户故事中)存储库将数据返回到服务并将服务返回到控制器。但存储库应该处理对外部存储的请求。

现在我遇到回调困难,如何在控制器和存储库之间实现嵌套回调?

我的控制器:

exports.clientes_get = async function (req, res) {

    Cliente.find(function(err,params) {
        if (err)
            res.send(err);

            res.json(params);
        });
}
Run Code Online (Sandbox Code Playgroud)

我的服务:

 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;
    };
Run Code Online (Sandbox Code Playgroud)

我的存储库:

get(clienteId, data) {
        mongoose.model('Cliente').findById(clienteId, data);
    };
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

service domain-driven-design callback repository node.js

6
推荐指数
1
解决办法
1万
查看次数