/** * Created by jiaoyumin on 16/9/28. */ (function () { // Setting up route angular.module('push').factory('LoadJsService', LoadJsService); LoadJsService.$inject = ['JS_REQUIRE', '$ocLazyLoad', '$q']; function LoadJsService(jsRequires, $ocLL, $q) { return { loadSequence: function () { var _args = arguments; var viewArgs = repeatArgs(_args[0]); //先匹配模块的,没有再匹配单文件的 if (viewArgs) { _args = viewArgs } else { //console.log("没有找到模块?") } function repeatArgs(name) { return jsRequires.ViewArgs[name]; } function promiseThen(_arg) { if (typeof _arg == 'function') return promise.then(_arg); else return promise.then(function () { var nowLoad = requiredData(_arg); if (!nowLoad) return console.log('找不到文件 [' + _arg + ']'); return $ocLL.load(nowLoad); }); } function requiredData(name) { if (jsRequires.modules) for (var m in jsRequires.modules) if (jsRequires.modules[m].name && jsRequires.modules[m].name === name) return jsRequires.modules[m]; return jsRequires.scripts && jsRequires.scripts[name]; } var promise = $q.when(1); for (var i = 0, len = _args.length; i < len; i++) { promise = promiseThen(_args[i]); } return promise; } } } }());