Javascript 从JQuery到JS变量

Javascript 从JQuery到JS变量,javascript,jquery,ajax,Javascript,Jquery,Ajax,我希望将从AJAX获得的对象数组结果(msg)放入JS变量(allEvents) 我想可以这样做: let allEvents; $.ajax({ method: "GET", url: "https://someApiToGetData.com", }) .done(function (msg) { allEvents = msg; }); console.log(allEvents); 我在控制台上得到未定义的结果。因此部分allEvents=msg

我希望将从AJAX获得的对象数组结果(msg)放入JS变量(allEvents

我想可以这样做:

let allEvents;

$.ajax({
   method: "GET",
   url: "https://someApiToGetData.com",
})
   .done(function (msg) {
      allEvents = msg;
   });

console.log(allEvents);
我在控制台上得到未定义的结果。因此部分
allEvents=msg并不像我想象的那么简单

如果我尝试
console.log(msg)
我会得到我想要的。但是我只想在allEvents JS变量中添加msg,这样我就可以处理结果了


有没有办法将msg导入allEvents

ajax请求是异步的,这意味着您的最后一行将在ajax请求返回之前运行,这就是
allEvents
未定义的原因,如果将代码修改为在
done
内打印
allEvents
,您将看到所有事件都有正确的数据

let allEvents;

$.ajax({
   method: "GET",
   url: "https://someApiToGetData.com",
})
   .done(function (msg) {
      allEvents = msg;
      console.log(allEvents);
   });

一切都必须发生在
.done(函数(msg){/*在本例中为*/})中