Javascript 获取函数中的请求和返回值
出于某种原因,“p”返回为未定义。如何让它返回数组Javascript 获取函数中的请求和返回值,javascript,function,get,Javascript,Function,Get,出于某种原因,“p”返回为未定义。如何让它返回数组 function doT() { var pe; $.get("https://www.google.com", function(data) { pe = ["a", "b", "c"]; }); return pe; } var p = doT(); setTimeout(function() { console.log(p.length); }, 1200); 其中一种方法是使用(阅读):
function doT() {
var pe;
$.get("https://www.google.com", function(data) {
pe = ["a", "b", "c"];
});
return pe;
}
var p = doT();
setTimeout(function() { console.log(p.length); }, 1200);
其中一种方法是使用(阅读): 现在它转到拒绝块,原因是(请阅读):
var promise=新承诺(函数(解析、拒绝){
var-pe;
$.ajax(”https://www.google.com")
.done(函数(){
pe=[“a”、“b”、“c”];
决心(pe);
})
.fail(函数(){
拒绝(“错误”);
});
});
承诺。然后(功能(结果){
$(“#测试”)。文本(结果);
},函数(err){
$(“#测试”).text(err);
});代码>
DoT不返回任何内容-为什么您希望得到任何结果?现在它返回了。我只是设置了StimeTimeExt,以防GET请求还没有完成,它正在返回空白PE。我可能同意的副本AlexeiLevenkov:你知道怎么修复它吗?我没有很好地理解这些回答。你测试过吗?一般来说,如果答案中包含对代码意图的解释,以及为什么在不介绍其他代码的情况下解决问题,那么答案会更有帮助
function doT() {
var pe = $.get("https://www.google.com", function(data) {
pe = ["a", "b", "c"];
});
return pe;
}
alert(doT());