gpt4 book ai didi

javascript - 在这个例子中我如何返回值?

转载 作者:行者123 更新时间:2023-11-28 16:29:14 25 4
gpt4 key购买 nike

function nicktoid(nick){
if (typeof nick == "String") {
var u = "http://xxxxxx.xxxx/" + nick ;
var xhr2 = new XMLHttpRequest();
xhr2.open('GET',u, true);
xhr2.setRequestHeader('Cache-Control', 'no-cache');
xhr2.setRequestHeader('Pragma', 'no-cache');

xhr2.onreadystatechange = function() {
if (xhr2.readyState == 4) {
txt2 = xhr2.responseText;
var el2 = document.createElement("div");
el2.innerHTML = txt2;

anchors = el2.getElementsByTagName("a");
for (var i=0;i< anchors.length;i++){
if (anchors[i].parentNode.id == "profile_avatar"){

anc.push(anchors[i]);
}


}

var res = anc[0].href;
var arstr = res.split("_");
var resul = arstr[0].substr(6);

}

}



}
}

我有上面的代码。将 var resul 返回到 nicktoid 例程的正确方法是什么?

最佳答案

使用回调函数,因为 Ajax 请求是异步执行的

function nicktoid(nick, callback){
...
xhr2.onreadystatechange = function() {
...
callback && callback(resul);
}
}

nicktoid('foobar', function(resul) {
console.log(resul);
});

关于javascript - 在这个例子中我如何返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6764730/

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