【发布时间】:2023-03-22 21:37:02
【问题描述】:
您好,我正在使用 Jquery 和 ember 删除某些元素,我想使用 Deferred 对象来停止代码,然后必须执行下一条语句
这里的 KillMany 是 Function,一旦调用它就会执行 array.forEach(tryKill); 陈述 包含一个元素数组[每次回调调用从服务器中删除每个元素时,数组包含 100 个元素]
这里我想在完全完成 [deletion of elements] myFinalblock 回调后执行我的代码
请指导我
killMany: function(c) {
var t = this
, wait = []
, dfd = new $.Deferred();
function keep(tile) {
tile.setProperties({ isSelected: false, isHidden: false });
}
function destroy(tile) {
if (t.get('reports')) {
t.get('reports').removeObject(tile.entity);
}
tile.remove.bind(tile);
}
function tryKill(tile) {
tile.set('isHidden', true);
tile.get('entity').kill()
.then(destroy.bind(null, tile),
keep.bind(null, tile));
}
function myFinalblock(){
this.set('selectedTiles', []);
}
this.set('promptDestroyMany', false);
if (c.response) {
var array = this.get('selectedTiles');
array.forEach(tryKill);
myFinalblock();
}
},
【问题讨论】:
标签: javascript jquery arrays ember.js promise