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)
})