diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ng/parse.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/ng/parse.js b/src/ng/parse.js index 9eeb1439..5597acd8 100644 --- a/src/ng/parse.js +++ b/src/ng/parse.js @@ -689,9 +689,21 @@ function parser(text, json, $filter, csp){ } var fnPtr = fn(scope, locals, context) || noop; // IE stupidity! - return fnPtr.apply + var v = fnPtr.apply ? fnPtr.apply(context, args) : fnPtr(args[0], args[1], args[2], args[3], args[4]); + + // Check for promise + if (v && v.then) { + var p = v; + if (!('$$v' in v)) { + p.$$v = undefined; + p.then(function(val) { p.$$v = val; }); + } + v = v.$$v; + } + + return v; }; } |
