Skip to content

Instantly share code, notes, and snippets.

@radist2s
Last active August 29, 2015 13:56
Show Gist options
  • Save radist2s/9305670 to your computer and use it in GitHub Desktop.
Save radist2s/9305670 to your computer and use it in GitHub Desktop.
Return only resolved $.Deferred objects.
$.resolved = function () {
var defers = arguments,
defersResolvedData = [],
alwaysCount = 0
var resolvedDeferWrapper = $.Deferred()
var always = function checkQueue() {
if (++alwaysCount === defers.length) {
resolvedDeferWrapper.resolveWith($, defersResolvedData)
}
}
for (var i in defers) {
if (!defers.hasOwnProperty(i)) {
continue;
}
defers[i]
.done(function(data) {
defersResolvedData.push(data)
always()
})
.fail(always)
}
return resolvedDeferWrapper
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment