jenkins-bot has submitted this change and it was merged. Change subject: Use $.when for promise handling ......................................................................
Use $.when for promise handling Change-Id: If56e331167a3e51582c10e08083355a9f76f16ad --- M lib/resources/jquery.wikibase/jquery.wikibase.badgeselector.js 1 file changed, 15 insertions(+), 29 deletions(-) Approvals: Thiemo Mättig (WMDE): Looks good to me, approved jenkins-bot: Verified diff --git a/lib/resources/jquery.wikibase/jquery.wikibase.badgeselector.js b/lib/resources/jquery.wikibase/jquery.wikibase.badgeselector.js index 84b7eb7..6034b41 100644 --- a/lib/resources/jquery.wikibase/jquery.wikibase.badgeselector.js +++ b/lib/resources/jquery.wikibase/jquery.wikibase.badgeselector.js @@ -328,38 +328,24 @@ */ _fetchItems: function( itemIds ) { var self = this, - deferred = $.Deferred(), - i = 0; + deferred = $.Deferred(); - /** - * @param {string} itemId - * @param {wikibase.store.EntityStore} entityStore - * @param {jQuery.Deferred} deferred - */ - function fetchItem( itemId, entityStore, deferred ) { - entityStore.get( itemId ) - .done( function( fetchedContent ) { - if( fetchedContent ) { - badges[itemId] = fetchedContent.getContent(); + $.when.apply( $, $.map( itemIds, function( itemId ) { + return self.options.entityStore.get( itemId ); + } ) ).done( function( /*…*/ ) { + var item; + for( var i = 0; i < arguments.length; ++i ) { + if( arguments[i] ) { + item = arguments[i].getContent(); + badges[item.getId()] = item; } - if( --i === 0 ) { - deferred.resolve(); - } - } ) - .fail( function() { - // TODO: Have entityStore return a proper RepoApiError object. - deferred.reject(); - } ); - } - - $.each( itemIds, function() { - i++; - fetchItem( this, self.options.entityStore, deferred ); - } ); - - if( $.isEmptyObject( itemIds ) ) { + } deferred.resolve(); - } + } ) + .fail( function() { + // TODO: Have entityStore return a proper RepoApiError object. + deferred.reject(); + } ); return deferred.promise(); }, -- To view, visit https://gerrit.wikimedia.org/r/164058 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: If56e331167a3e51582c10e08083355a9f76f16ad Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Adrian Lang <adrian.l...@wikimedia.de> Gerrit-Reviewer: Adrian Lang <adrian.l...@wikimedia.de> Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits