我正在使用res.json连接到sql db并在视图上返回数据。客户端发送请求 - 我的服务器使用mssql驱动程序和连接字符串连接到该数据库并检索一些数据。所以我使用GET,POST等方式获得了连接。
但是我遇到了一个逻辑问题,因为我想将一些数据从sql db传递给一个模块,然后该模块将使用该数据来准备一个json响应。当我使用几个参数对数组进行硬编码时,它可以正常工作,但是它不知道如何将来自node.js的请求发送到数据库并传播该数组,以便在客户端发送请求时使用该模块。 (当客户端发送请求时,模块向该数据库发送请求,并且db返回一些参数,然后模块可以使用这些参数来准备响应。)
有什么想法吗?你能指出我正确的方向吗?从逻辑的角度来看,这种解决方案如何运作?
我使用node.js,express,mssql模块连接到db。我不是在寻找具体的代码只是为了指出我正确的方向,如果你有任何例子,我很高兴看到那些。
答案 0 :(得分:1)
您可能需要有一系列回调并通过它们传递数据,如下所示:
app.get('/users', function (req, res) {
database.find('find criteria', function (err, data) {
mymodule.formatData(data, function(err, json) {
res.json(json);
})
});
});
所以你只需嵌套回调,直到你拥有发送响应所需的一切。
你需要习惯node.js中的这种编程风格。 还有一些解决方案可以避免过深的回调嵌套 - split your callbacks into individual functions或使用async,promises,es6 generators。