如何在数组完成时删除从数组延迟的jQuery?我有:
myarray[key]=$.ajax({
}).done(function(response){
// work with response,
// then delete myarray[key];
});
这不起作用:
var myvar=function(){
if(myvar){
alert(1);
}
}
似乎声明必须完成检查变量是否设置的事件,因此删除变量声明中的变量不应该如何,超时?
答案 0 :(得分:0)
这取决于myarray是否是数组或对象。如果它是一个对象,你可以做
delete myarray[key];
但如果它是一个数组,那么它会更复杂一些。 John Resig撰写了关于数组元素删除的文章here
如果你想更简单地做,而且它是一个数组,你可以用
删除它myarray[key] = undefined;
但是你应该注意到myarray
在你这样做时不会变小。
$.ajax
返回Deferred对象,.done()
返回不同的Deferred对象。最理想的是,您需要执行以下操作:
myarray[key]=$.ajax({
});
myarray[key].done(function(response){
// work with response,
// then delete myarray[key];
});