我是Javascript / jquery和async的新手。我在这个论坛上看了很多。 但我找不到解决问题的方法。
我从数据记录器获取JS文件(logger.js),如:
ab[cd++]="data1"
ab[cd++]="data2"
ab[cd++]="data3"
...
我尝试在移动应用中加载此文件。
var ab = [];
var cd = 0;
with an ajax call:
$.get("logger.js", function() {
alert(ab.length); //3 works fine for the first request
});
....
ab.length = 0; //doesnt work.
第二个请求ab.length
上的是6,
第三个请求ab.length
是9,依此类推。
空的地方在哪里?
答案 0 :(得分:0)
您应该将ab
重新定义为空数组:
ab = [];
请注意,您正在执行ASYNC调用,因此请确保在回调函数中重新定义ab
变量(我的猜测,我不知道您在哪里使用它):
$.get("logger.js", function() {
//do something with ab here and then redefine it.
ab = [];
});