节点.js请求对象 - 返回响应正文以供进一步操作

node.js request object- return response body for further operation

本文关键字:正文 进一步 操作 响应 返回 js 请求 对象 节点      更新时间:2023-09-26
对此可能有

一个简单的答案,但我试图让响应的主体返回并返回到另一个函数。 这当然是一个范围问题。

这是我的代码,任何想法将不胜感激:

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
  }, function (error, response, 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); 
  }
});