From 7d18d0ae262915e449bde97ad9dda3154d6d2d06 Mon Sep 17 00:00:00 2001 From: Alexander Shtuchkin Date: Sun, 24 Feb 2013 12:11:25 +0400 Subject: refactor($route): use $q#all hash signature 2 simplify 'resolve' impl --- src/ng/route.js | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/ng/route.js b/src/ng/route.js index afdac3fb..0f8fe3e9 100644 --- a/src/ng/route.js +++ b/src/ng/route.js @@ -414,14 +414,13 @@ function $RouteProvider(){ $q.when(next). then(function() { if (next) { - var keys = [], - values = [], + var locals = extend({}, next.resolve), template; - forEach(next.resolve || {}, function(value, key) { - keys.push(key); - values.push(isString(value) ? $injector.get(value) : $injector.invoke(value)); + forEach(locals, function(value, key) { + locals[key] = isString(value) ? $injector.get(value) : $injector.invoke(value); }); + if (isDefined(template = next.template)) { if (isFunction(template)) { template = template(next.params); @@ -437,16 +436,9 @@ function $RouteProvider(){ } } if (isDefined(template)) { - keys.push('$template'); - values.push(template); + locals['$template'] = template; } - return $q.all(values).then(function(values) { - var locals = {}; - forEach(values, function(value, index) { - locals[keys[index]] = value; - }); - return locals; - }); + return $q.all(locals); } }). // after route change -- cgit v1.2.3