【发布时间】:2013-12-17 17:27:08
【问题描述】:
我的问题是:How to break out of jQuery each Loop
我需要从 jquery $.each() 中退出,但在这种情况下我不能返回 FALSE,因为退出条件正在触发一个将解决延迟的函数。所以我需要退出每一个,但要有一个承诺。
function KillLayer(id) {
var defer = $.Deferred();
$.each(vm.get("DeviceData"), function (idx, item) {
if (item.Type == id) {
vm.DeviceData.splice(idx, 1); // remove the item from the list
removeLayer(defer, id) // delete it from the PouchDB (IDB) database (async)
return defer.promise();
}
});
defer.resolve(); // layer was not found, so just resolve & return
return defer.promise();
}
【问题讨论】:
标签: jquery asynchronous jquery-deferred