如何从http.get方法nodejs访问数据

时间:2016-12-14 18:11:38

标签: javascript node.js

我对外部api有一个简单的http.get请求。 如何从其他函数访问id和name变量?谢谢!

app.use(function *(next){

	var name = '';
	var id = '';

	var options = {
		host: 'www.website.com',
		path: '/json/somedata',
		metohd: 'GET'
	};
	http.get(options, function(res) {

		var body = '';

		res.on('data', function(chunk) {
			body+=chunk;
			console.log(body);
		})
		res.on('end', function() {
			var parsed = JSON.parse(body);
            id = parsed.id;
            name = parsed.name;
		})
	})
});

1 个答案:

答案 0 :(得分:1)

我猜你正在使用npm模块express,你有那里的语法。

您的答案取决于您希望使用ID和名称的位置。如果您尝试在路径或中间件 之后使用它,解决该问题的常用方法是将属性(在本例中为name和id)附加到请求。完成后请记得拨打下一个,否则快递将不知道您已完成所有处理

我在下面给出了一个简单的例子:

app.use(function (req, res, next){

   var options = {
       host: 'www.website.com',
       path: '/json/somedata',
       method: 'GET'
   };
   http.get(options, function(getResponse) {

    var body = '';

    getResponse.on('data', function(chunk) {
        body+=chunk;
        console.log(body);
    })
    getResponse.on('end', function() {
        var parsed = JSON.parse(body);
        req.id = parsed.id;
        req.name = parsed.name;
        next();

    })
    })
});