在另一个内部使用$ routeProvider resolve函数

马姆苏迪

我的$ routeProvider内部有三个resolve promise函数。我的问题是,例如可以在加载函数中使用getData函数来获取HTTP请求响应!

还要角等待getData完成然后加载吗?它是在按顺序做它们并等待诺言吗?!

$routeProvider.when = function(path, route) {
        route.resolve = {
            getData: ['$http', function ($http) {
                var http = $http({
                    method: 'POST',
                    url: 'a URL',
                    data: {
                        route: "/something"
                    },
                    headers: {
                        'something': 'anything'
                    }
                });
                return http;
            }],
            load: [
                'getData',
                function(getData) {
                    console.log(getData);
                    // I'm Actually returning a promise here so no problem at all.
                }
            ],
            prefData: [
                '$preflightService',
                function($preflightService) {
                    console.log('Preflight Run');
                    return $preflightService.run();
                }
            ],
        };
        return originalWhen(path, route);
    };

使用上面的代码,我在控制台中收到此错误

Error: [$injector:unpr] http://errors.angularjs.org/1.4.12/$injector/unpr?p0=getDataProvider%20%3C-%20getData

我应该怎么办?!

我应该以某种方式定义提供商吗?

TJ

每个解析都是异步解析的。如果希望由“ getData”返回的数据来解决“加载”请求,请使其成为单个解决方案,如下所示:

loadData: ['$http', function($http) {
      return $http({
        method: 'POST',
        url: 'a URL',
        data: {
          route: "/something"
        },
        headers: {
          'something': 'anything'
        }
      }).then(function(response){
        // getData result available here
        return // Return the load promise here
      });
    }

如果需要,您可以将成功处理程序(附加.then(function(){})到加载承诺,并返回包含getData结果和加载结果的自定义对象,例如

return {
 getData: getResp,
 loadedData: loadResp
}

它将在控制器中可用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在$ routeProvider的resolve功能中使用Promise链

来自分类Dev

如何从另一个函数内部使用一个函数中的数组

来自分类Dev

在$ routeProvider中使用resolve导致“未知提供者...”

来自分类Dev

routeprovider使用resolve将值传递给控制器

来自分类Dev

另一个函数内部的C ++调用函数

来自分类Dev

如何调用另一个函数内部的函数?

来自分类Dev

从另一个函数内部调用php函数

来自分类Dev

从另一个函数更改函数内部的常量

来自分类Dev

如何使用函数的参数作为函数内部另一个对象的对象?

来自分类Dev

使用jestjs模拟另一个函数的内部函数

来自分类Dev

PHP在另一个函数中使用内部函数变量

来自分类Dev

Python 在另一个函数内部使用函数的输出

来自分类Dev

从另一个内部调用函数-JavaScript

来自分类Dev

我可以使用另一个类内部的函数中的变量吗?

来自分类Dev

AngularJS在另一个内部使用全局范围函数

来自分类Dev

使用函数使用$ routeProvider定义控制器

来自分类Dev

一个函数在另一个函数内部的响应

来自分类Dev

修补导入到另一个函数内部的一个函数

来自分类Dev

从Java中的另一个函数内部返回一个函数

来自分类Dev

从另一个函数内部调用一个函数?

来自分类Dev

在另一个函数中访问一个函数内部的Python变量

来自分类Dev

如何从另一个函数内部调用一个函数?

来自分类Dev

如何从另一个内部函数调用一个方法

来自分类Dev

使用原型从另一个构造函数继承与在继承的构造函数内部使用apply方法之间的区别

来自分类Dev

使用原型从另一个构造函数继承与在继承的构造函数内部使用apply方法之间的区别

来自分类Dev

在另一个函数之后使用js函数

来自分类Dev

在另一个函数中使用C函数

来自分类Dev

在另一个函数之后使用js函数

来自分类Dev

使用函数输出是另一个函数的输入

Related 相关文章

  1. 1

    在$ routeProvider的resolve功能中使用Promise链

  2. 2

    如何从另一个函数内部使用一个函数中的数组

  3. 3

    在$ routeProvider中使用resolve导致“未知提供者...”

  4. 4

    routeprovider使用resolve将值传递给控制器

  5. 5

    另一个函数内部的C ++调用函数

  6. 6

    如何调用另一个函数内部的函数?

  7. 7

    从另一个函数内部调用php函数

  8. 8

    从另一个函数更改函数内部的常量

  9. 9

    如何使用函数的参数作为函数内部另一个对象的对象?

  10. 10

    使用jestjs模拟另一个函数的内部函数

  11. 11

    PHP在另一个函数中使用内部函数变量

  12. 12

    Python 在另一个函数内部使用函数的输出

  13. 13

    从另一个内部调用函数-JavaScript

  14. 14

    我可以使用另一个类内部的函数中的变量吗?

  15. 15

    AngularJS在另一个内部使用全局范围函数

  16. 16

    使用函数使用$ routeProvider定义控制器

  17. 17

    一个函数在另一个函数内部的响应

  18. 18

    修补导入到另一个函数内部的一个函数

  19. 19

    从Java中的另一个函数内部返回一个函数

  20. 20

    从另一个函数内部调用一个函数?

  21. 21

    在另一个函数中访问一个函数内部的Python变量

  22. 22

    如何从另一个函数内部调用一个函数?

  23. 23

    如何从另一个内部函数调用一个方法

  24. 24

    使用原型从另一个构造函数继承与在继承的构造函数内部使用apply方法之间的区别

  25. 25

    使用原型从另一个构造函数继承与在继承的构造函数内部使用apply方法之间的区别

  26. 26

    在另一个函数之后使用js函数

  27. 27

    在另一个函数中使用C函数

  28. 28

    在另一个函数之后使用js函数

  29. 29

    使用函数输出是另一个函数的输入

热门标签

归档