javascript – node.js请求对象 – 返回响应主体以进行进一步操作

前端之家收集整理的这篇文章主要介绍了javascript – node.js请求对象 – 返回响应主体以进行进一步操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > How to return value from an asynchronous callback function? 3个
这可能是一个简单的答案,但我正在尝试获取响应的主体并返回到另一个函数.这肯定是一个范围问题.

这是我的代码,任何想法都将非常感激:

var request = require("request");
var myJSON = require("JSON");

function getMyBody(url) {
    var myBody;
    request({
    url: url,json: true
    },function (error,response,body) {
        if (!error && response.statusCode === 200) {
        myBody = body;
    }
 });

return(JSON.parse(myBody));

}

js_traverse(getMyBody(url));

谢谢

格伦

解决方法

该声明:
return(JSON.parse(myBody));

在ajax调用返回正文之前执行.你需要将回调传递给getMyBody()来处理request()返回的内容

var request = require("request");
var myJSON = require("JSON");

function getMyBody(url,callback) {
  request({
    url: url,json: true
  },body) {
    if (error || response.statusCode !== 200) {
      return callback(error || {statusCode: response.statusCode});
    }
    callback(null,JSON.parse(body));  
  });
}

getMyBody(url,function(err,body) {
  if (err) {
    console.log(err);
  } else {
    js_traverse(body); 
  }
});

猜你在找的JavaScript相关文章