我正在使用以下代码片段将元素推入数组:
let arr = [];
$.getJSON('file.json', function (data) { push elements into arr });
当我在arr
的select事件中访问autocomplete
时,我可以访问length属性并在索引处获取元素:
$( "#autocomplete" ).autocomplete({
source: arr,
select: function(event, ui) { console.log(arr.lenght); } });
但是当我从其他地方访问arr
时,我无法访问它。
我的猜测是autocomplete
完成后 被解雇了吗?不用移动我想在$.getJSON
内部运行的代码,是否有办法全局检测$.getJSON
已成功完成?
答案 0 :(得分:2)
为此,您可以使用“完成”方法,例如,它在官方文档https://api.jquery.com/jQuery.getJSON/中:
let arr = [];
$.getJSON(
'file.json',
function (data) { push elements into arr }
).done(function(){
console.log("Success");
});