最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何使用Express(nodejs)将HTTP GET响应保存到var?

IT培训 admin 2浏览 0评论

如何使用Express(nodejs)将HTTP GET响应保存到var?

我在Nodejs中使用Express来进行GET调用。作为回应,我得到了我需要的值,但是当我将函数中的值返回到main时,我得到了未定义的值。

function getInfo() 
{

      var oauth = getoAuth();

      request.get({
        url:'myurl',   
        oauth:oauth, 
        qs:null, 
        json:true
      }, 
          function (e, r, data) {
            body.data = data;
            body.emit('update');
      }); 


      body.on('update', function () {
        console.log(body.data.issues[0].key);
        return (body.data.issues[0].key);  
      });

}

这个关键是我需要的。当我在控制台中打印它时,我得到正确的值,但它不会返回任何内容,因为它是异步调用。我怎样才能返回值?我能以某种方式等待使用快递的价值吗?我在stackoverflow上看到有些人使用了这个body.on('update'...解决方案,但它对我不起作用。它仍然没有保存任何变量。

EDIT-> the response:

TESTING: undefined
THEKEY1

Saving the value at:

var myid = geInfo();

回答如下:

试试这种方式:

function getInfo() 
{

      var oauth = getoAuth();

      request.get({ url:'myurl',  oauth:oauth,  qs:null, json:true},
        function (error, response, body) {
            if(!error && response && response.statusCode==200){
               console.log(body);
               return body.data.issues[0].key;  
            }else{
               return null;
            }
      }); 
}

如何使用Express(nodejs)将HTTP GET响应保存到var?

我在Nodejs中使用Express来进行GET调用。作为回应,我得到了我需要的值,但是当我将函数中的值返回到main时,我得到了未定义的值。

function getInfo() 
{

      var oauth = getoAuth();

      request.get({
        url:'myurl',   
        oauth:oauth, 
        qs:null, 
        json:true
      }, 
          function (e, r, data) {
            body.data = data;
            body.emit('update');
      }); 


      body.on('update', function () {
        console.log(body.data.issues[0].key);
        return (body.data.issues[0].key);  
      });

}

这个关键是我需要的。当我在控制台中打印它时,我得到正确的值,但它不会返回任何内容,因为它是异步调用。我怎样才能返回值?我能以某种方式等待使用快递的价值吗?我在stackoverflow上看到有些人使用了这个body.on('update'...解决方案,但它对我不起作用。它仍然没有保存任何变量。

EDIT-> the response:

TESTING: undefined
THEKEY1

Saving the value at:

var myid = geInfo();

回答如下:

试试这种方式:

function getInfo() 
{

      var oauth = getoAuth();

      request.get({ url:'myurl',  oauth:oauth,  qs:null, json:true},
        function (error, response, body) {
            if(!error && response && response.statusCode==200){
               console.log(body);
               return body.data.issues[0].key;  
            }else{
               return null;
            }
      }); 
}
发布评论

评论列表 (0)

  1. 暂无评论