2016-02-16 46 views
0

我正在連接到sql數據庫並使用res.json在視圖上返回數據。客戶端發送請求 - 我的服務器使用mssql驅動程序和連接字符串連接到該數據庫並檢索一些數據。所以我有一個使用GET,POST等的連接。Node.js - 將sql數據傳遞到客戶端請求上的模塊

但是我遇到了一個邏輯問題,因爲我想將一些數據從sql數據庫傳遞到一個模塊,然後該模塊將使用該數據來準備json響應。當我使用幾個參數對數組進行硬編碼時,它可以工作,但它不知道如何將請求從node.js發送到數據庫,並傳播該數組,以便在客戶端發送請求時使用該模塊。 (當客戶端發送請求時,模塊發送一個請求到該db,並且db返回一些參數,然後模塊可以使用該參數準備響應。)

任何想法?你能指出我正確的方向嗎?從邏輯的角度來看,這樣的解決方案可以起作用嗎?

我使用node.js,express,mssql模塊連接到db。我不是在尋找特定的代碼,只是爲了讓我指出正確的方向,如果你有任何的例子,當然我很高興看到這些。

回答

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

相關問題