Javascript 请求内部变量

Javascript 请求内部变量,javascript,asynchronous,callback,request,Javascript,Asynchronous,Callback,Request,我想解析请求外部的主体。但是我想不出一种方法来将它放在请求函数之外。你能告诉我怎么做吗?或者至少给我举个例子。我不明白 "use strict" var robotsParser = require('robots-parser'); var request = require('request'); var fs = require('fs') let url = 'http://google.de/robots.txt' request(url, function(error, respo

我想解析请求外部的主体。但是我想不出一种方法来将它放在请求函数之外。你能告诉我怎么做吗?或者至少给我举个例子。我不明白

"use strict"
var robotsParser = require('robots-parser');
var request = require('request');
var fs = require('fs')
let url = 'http://google.de/robots.txt'

request(url, function(error, response, body) {
    //console.log(body)        
    robots = robotsParser(url, body)
    var reserveisDisallowed = robots.isDisallowed('http://google.de/maps/reserve/api/', '*')
    console.log(reserveisDisallowed)
})

如果要在成功回调后按如下方式执行此指令,请使用jQuery deferred:

var $deferred = $.Deferred(),
    robots,
    globalBody;

$deferred.done(function(body){
    robots = robotsParser(url, body);
    globalBody = body; //After here globalBody object has body available. Do whatever you want to do now.    
    var reserveisDisallowed = robots.isDisallowed('http://google.de/maps/reserve/api/', '*')
    console.log(reserveisDisallowed)
});

request(url, function(error, response, body) {
    //console.log(body)        
  $deferred.resolve(body);
})
或者如果您只想让body在外部可用,只需在代码中使用'globalBody'变量

作为:


请进一步解释,您想在哪里执行此代码。什么是body,为什么不使用response?我只需要body,body返回正确。我只想获取请求范围之外的body内容。谢谢,我正在使用Node,不想使用jquery,然后不得不为此模拟窗口。为了保持这种香草味,我需要了解什么?
request(url, function(error, response, body) {
    //console.log(body)        
    robots = robotsParser(url, body);
    globalBody = body;
    var reserveisDisallowed = robots.isDisallowed('http://google.de/maps/reserve/api/', '*')
    console.log(reserveisDisallowed)
})