完成后如何从javascript数组中删除ajax
如何在jQuery完成时从数组中删除延迟的jQuery?我有:完成后如何从javascript数组中删除ajax,javascript,arrays,ajax,variables,Javascript,Arrays,Ajax,Variables,如何在jQuery完成时从数组中删除延迟的jQuery?我有: myarray[key]=$.ajax({ }).done(function(response){ // work with response, // then delete myarray[key]; }); 这不起作用: var myvar=function(){ if(myvar){ alert(1); } } 对于检查变量是否已设置的事件,似乎必须完成声明,因此在变量声明中删除变量不应该起作用
myarray[key]=$.ajax({
}).done(function(response){
// work with response,
// then delete myarray[key];
});
这不起作用:
var myvar=function(){
if(myvar){
alert(1);
}
}
对于检查变量是否已设置的事件,似乎必须完成声明,因此在变量声明中删除变量不应该起作用。如何删除变量,超时?这取决于myarray是数组还是对象。如果它是一个物体,你可以
delete myarray[key];
但是如果它是一个数组,那么它就有点复杂了。John Resig写了一篇关于数组元素移除的文章
如果你想做得更简单,而且它是一个数组,你可以用
myarray[key] = undefined;
但您应该注意,执行此操作时,myarray
不会变小
$.ajax
返回延迟对象,.done()
返回不同的延迟对象。最佳情况下,您可以执行以下操作:
myarray[key]=$.ajax({
});
myarray[key].done(function(response){
// work with response,
// then delete myarray[key];
});
为什么不干脆
删除myarray[key]
?你的问题不清楚。你能发布更多的代码,这样我们就不必在黑暗中拍摄(这里有很多可能的问题)?代码会在ajax上正确执行吗?在声明的同一个数组键中完成?我的假设是它不起作用,这与我在问题中发布的不起作用有关。