Javascript返回XMLHTTPRequest()之后

Javascript return after XMLHTTPRequest()

本文关键字:之后 XMLHTTPRequest 返回 Javascript      更新时间:2023-09-26

我有这个问题,所以我想返回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();
}