diff --git a/lib/web/mage/requirejs/resolver.js b/lib/web/mage/requirejs/resolver.js index f3d4b79216adb..5088206dd31d9 100644 --- a/lib/web/mage/requirejs/resolver.js +++ b/lib/web/mage/requirejs/resolver.js @@ -27,6 +27,16 @@ define([ return !!_.findWhere(callbacks, callback); } + /** + * Checks if provided module is rejected during load. + * + * @param {Object} module - Module to be checked. + * @return {Boolean} + */ + function isRejected(module) { + return registry[module.id] && registry[module.id].error; + } + /** * Checks if provided module has unresolved dependencies. * @@ -34,7 +44,11 @@ define([ * @returns {Boolean} */ function isPending(module) { - return !!module.depCount; + if (!module.depCount) { + return false; + } + + return module.depCount > _.filter(module.depMaps, isRejected).length; } /**