我正在使用控制器到存储库堆栈在Node,Express,Request ...等中构建MVC应用程序。在repo中,我将请求(简化的HTTP请求客户端)连接到返回JSON的外部API。
我有以下代码:
// The repository
var request = require('request');
module.exports.getById= function (id) {
var options = {
url: 'http://myurl...' + id,
headers: {
'Accept': 'application/json',
'Accept-Language': 'en-US',
}
};
request(options, callback);
function callback(error, response, body) {
if (!error && response.statusCode == 200) {
var data = JSON.parse(body);
return data;
} else {
res.send(404); // HTTP STATUS
console.log("ERROR: " + error);
}
}
};
// The Service
var myRepository = require('../repositories/myRepository');
module.exports.getById = function (id) {
return myRepository.getById(id);
};
如何将数据返回给服务,将服务返回给在视图中呈现它的控制器?从回调中返回数据不起作用。似乎我无法将额外的回调方法传递给请求回调以便返回它。