Javascript return 在 XMLHTTPRequest() 之后
Javascript return after XMLHTTPRequest()
我有这个问题,所以我想 return 在 XMLHTTPRequest() 之后收到的值,这可能吗?如果没有,我将如何着手实现相同的总体想法?这是我目前所拥有的(显然没有用)。
function something(url) {
var temp = getPage(url);
console.log(temp);
}
function getPage(url) {
var x = new XMLHTTPRequest();
x.onload = function() {
var html = x.responseText;
//CODE TO PARSE HTML TEXT
var variable = SOMETHING PARSED FROM HTML
return variable;
}
x.open("GET", url);
x.send();
}
这是每个新 javascript 开发人员都必须处理的编程范例。
由于 javascript 的异步特性,函数往往不会通过 return
语句传回值,而是通过回调方法传回值。
function something(url) {
getPage(url, function(temp) {
console.log(temp);
});
}
function getPage(url, callback) {
var x = new XMLHTTPRequest();
x.onload = function() {
var html = x.responseText;
//CODE TO PARSE HTML TEXT
var variable = SOMETHING PARSED FROM HTML
callback(variable);
}
x.open("GET", url);
x.send();
}
我有这个问题,所以我想 return 在 XMLHTTPRequest() 之后收到的值,这可能吗?如果没有,我将如何着手实现相同的总体想法?这是我目前所拥有的(显然没有用)。
function something(url) {
var temp = getPage(url);
console.log(temp);
}
function getPage(url) {
var x = new XMLHTTPRequest();
x.onload = function() {
var html = x.responseText;
//CODE TO PARSE HTML TEXT
var variable = SOMETHING PARSED FROM HTML
return variable;
}
x.open("GET", url);
x.send();
}
这是每个新 javascript 开发人员都必须处理的编程范例。
由于 javascript 的异步特性,函数往往不会通过 return
语句传回值,而是通过回调方法传回值。
function something(url) {
getPage(url, function(temp) {
console.log(temp);
});
}
function getPage(url, callback) {
var x = new XMLHTTPRequest();
x.onload = function() {
var html = x.responseText;
//CODE TO PARSE HTML TEXT
var variable = SOMETHING PARSED FROM HTML
callback(variable);
}
x.open("GET", url);
x.send();
}