从节点请求回调中返回值

时间:2015-01-10 20:34:00

标签: javascript node.js callback request

我正在使用控制器到存储库堆栈在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);
};

如何将数据返回给服务,将服务返回给在视图中呈现它的控制器?从回调中返回数据不起作用。似乎我无法将额外的回调方法传递给请求回调以便返回它。

0 个答案:

没有答案