gpt4 book ai didi

javascript - Javascript 中函数返回未定义

转载 作者:行者123 更新时间:2023-12-02 14:24:15 25 4
gpt4 key购买 nike

无法弄清楚如何从此函数返回值(字符串):

function loadPage(url) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();

xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
return html
}
}
}

console.log(loadPage("http://stops.lt/vilnius/#trol/2/a-b"))

当我使用console.log(html)时里面xhttp.onreadystatechange它打印正确的结果,但我不明白如何返回 loadPage(url) 。都尝试过 return xhttp.onreadystatechangereturn xhttp.onreadystatechange()但这些都不起作用。

最佳答案

Fuction loadPage 是异步的,需要使用回调函数(或者 Promise):

function loadPage(url, cb) {
var xhttp = new XMLHttpRequest();
xhttp.open("GET", url, true);
xhttp.send();

xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
//var html = xhttp.responseText
var html = document.documentElement.outerHTML;
cb(html);
}
}
}
loadPage("http://stops.lt/vilnius/#trol/2/a-b", function(html){
console.log(html);
});

关于javascript - Javascript 中函数返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38412718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com