Javascript 获取函数中的请求和返回值

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); 其中一种方法是使用(阅读):

出于某种原因,“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);

其中一种方法是使用(阅读):

现在它转到拒绝块,原因是(请阅读):

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());