lib/loader.js
function fetchUnmetDependencies() {
        var runAgain = false;
        for (var id in dependencyMap) {
            _.forEach(dependencyMap[id], function (depId) {
                if (!dependencyMap[depId] && !injectedMap[depId]) {
                    try {
                        loadExternalModule(id, depId);
                    } catch (err) {
                        throw new Error('Error loading dependency ' + depId + ' for ' + id + ': ' + err.message);
                    }

                    runAgain = true;
                }
            });
        }

        if (runAgain) { //continue until all we don't have any more unmet dependencies
            fetchUnmetDependencies();
        }
    }
function fetchUnmetDependencies() {
        var runAgain = false;
        for (var id in dependencyMap) {
            _.forEach(dependencyMap[id], function (depId) {
                if (!dependencyMap[depId] && !injectedMap[depId]) {
                    try {
                        loadExternalModule(id, depId);
                    } catch (err) {
                        throw new Error('Error loading dependency ' + depId + ' for ' + id + ': ' + err.message);
                    }

                    runAgain = true;
                }
            });
        }

        if (runAgain) { //continue until all we don't have any more unmet dependencies
            fetchUnmetDependencies();
        }
    }
function fetchUnmetDependencies ( ) { var runAgain = false ; for ( var id in dependencyMap ) { _ . forEach ( dependencyMap [ id ] , function ( depId ) { if ( ! dependencyMap [ depId ] && ! injectedMap [ depId ] ) { try { loadExternalModule ( id , depId ) ; } catch ( err ) { throw new Error ( 'Error loading dependency ' + depId + ' for ' + id + ': ' + err . message ) ; } runAgain = true ; } } ) ; } if ( runAgain ) { //continue until all we don't have any more unmet dependencies fetchUnmetDependencies ( ) ; } }
Recursively find any unmet dependencies in the dependency tree.
Unmet dependencies are assumed to be third party modules, so it will
continue to load those modules until all dependencies have been met.
Recursively find any unmet dependencies in the dependency tree . Unmet dependencies are assumed to be third party modules so it will continue to load those modules until all dependencies have been met .