将范围数据传递到$ http函数

我从元数据构造元素,我需要为每个元素设置一个计算的类。

这是我目前正在做的

var promisses =_.map(templates, function (tmpl) {
  return $http.get(tmpl.template, {
    cache   : $templateCache,
    // Generated class name is carried to the resolving function using the config
    classes : scope.generate_class(tmpl.columns)
  }).then(function (data) {
    if ( data.status != 200 )
      throw new Error('Failed to fetch template');
    var elm = angular.element(data.data);
    elm.addClass(data.config.classes);
    return elm;
  });
});

$q.all(promisses).success.... 

如果我想用firsuccess代替它(它也会在出现错误的情况下进行评估),我该怎么做?使用config时,不会继续使用解析功能(仅数据)。then$httpsuccess

谢谢。

伊兰·弗鲁默

来自$ http docs

返回带有标准then方法和两个http特定方法的promise对象successerrorthen方法接受两个参数成功和错误回调,将使用响应对象调用该回调。成功和错误方法采用单个参数-该函数将在请求成功或失败时分别调用。传递给这些函数的参数是传递给then方法的响应对象的结构化表示

响应对象具有以下属性:

  • data{string | Object} –使用转换函数转换的响应主体。
  • status{number} –响应的HTTP状态代码。
  • 标头{function([headerName])} –标头获取函数。
  • config{Object} –用于生成请求的配置对象。
  • statusText{string} –响应的HTTP状态文本。

因此,您可以像这样传递配置:

.success(function(data, status, headers, config) {

使用Promise时不要抛出错误,如果您的服务器未返回错误代码,则可以将q.reject其转换为拒绝代码,q.allPromise也没有成功方法:

var promisses =_.map(templates, function (tmpl) {
  return $http.get(tmpl.template, {
    cache   : $templateCache,
    // Generated class name is carried to the resolving function using the config
    classes : scope.generate_class(tmpl.columns)
  }).then(function(res) {
    if ( res.status != 200 ) {
      return $q.reject('Failed to fetch template');
    } else {
      var elm = angular.element(res.data);
      elm.addClass(res.config.classes);
      return elm;
    }
  });
});

$q.all(promisses)
  .then(function() { ... })
  .catch(function() { .. })

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular Service-将$ http数据传递到范围

来自分类Dev

将POST数据传递到PHP函数中

来自分类Dev

如何将数据传递到fancybox函数?

来自分类Dev

将POST数据传递到PHP函数中

来自分类Dev

将数据传递到接受通用集合的函数中

来自分类Dev

将额外的数据传递给函数

来自分类Dev

将数据传递到范围

来自分类Dev

jQuery将数据传递到MVC4中的Ajax函数

来自分类Dev

将ng-click指令中的数据传递到控制器中的函数中

来自分类Dev

如何将绑定数据传递到d3中的函数?

来自分类Dev

准备segue函数无法将数据传递到另一个VC Swift,

来自分类Dev

将数据传递到Firebase auth.user()。onCreate Cloud函数

来自分类Dev

调用函数或将数据传递到另一个控制器AngularJS

来自分类Dev

如何将数据传递到http创建服务器回调?

来自分类Dev

我在哪里可以使用流星http将POST数据传递到api?

来自分类Dev

Node.js Http.Request回调-无法将数据传递给父函数

来自分类Dev

Node.js Http.Request回调-无法将数据传递给父函数

来自分类Dev

如何将悬停的元素数据传递到另一个函数并使用其数据属性

来自分类Dev

如何使用Ajax GET或POST方法将数据传递到Amazon lambda node.js函数

来自分类Dev

Angular:如何使用$ http post方法将大规模数据传递到.ashx文件(通用处理程序)

来自分类Dev

JavaScript-将数据传递给匿名函数

来自分类Dev

无法将数据传递给函数(jQuery)

来自分类Dev

将数据传递给lodash map()函数-功能组件

来自分类Dev

将多个表单数据传递给jquery函数

来自分类Dev

OpenCV:无法正确将数据传递给函数

来自分类Dev

坚持如何将数据传递给函数

来自分类Dev

将文件数据传递给函数

来自分类Dev

将已解析的重复数据传递给函数

来自分类Dev

如何将Firebase数据传递给函数

Related 相关文章

  1. 1

    Angular Service-将$ http数据传递到范围

  2. 2

    将POST数据传递到PHP函数中

  3. 3

    如何将数据传递到fancybox函数?

  4. 4

    将POST数据传递到PHP函数中

  5. 5

    将数据传递到接受通用集合的函数中

  6. 6

    将额外的数据传递给函数

  7. 7

    将数据传递到范围

  8. 8

    jQuery将数据传递到MVC4中的Ajax函数

  9. 9

    将ng-click指令中的数据传递到控制器中的函数中

  10. 10

    如何将绑定数据传递到d3中的函数?

  11. 11

    准备segue函数无法将数据传递到另一个VC Swift,

  12. 12

    将数据传递到Firebase auth.user()。onCreate Cloud函数

  13. 13

    调用函数或将数据传递到另一个控制器AngularJS

  14. 14

    如何将数据传递到http创建服务器回调?

  15. 15

    我在哪里可以使用流星http将POST数据传递到api?

  16. 16

    Node.js Http.Request回调-无法将数据传递给父函数

  17. 17

    Node.js Http.Request回调-无法将数据传递给父函数

  18. 18

    如何将悬停的元素数据传递到另一个函数并使用其数据属性

  19. 19

    如何使用Ajax GET或POST方法将数据传递到Amazon lambda node.js函数

  20. 20

    Angular:如何使用$ http post方法将大规模数据传递到.ashx文件(通用处理程序)

  21. 21

    JavaScript-将数据传递给匿名函数

  22. 22

    无法将数据传递给函数(jQuery)

  23. 23

    将数据传递给lodash map()函数-功能组件

  24. 24

    将多个表单数据传递给jquery函数

  25. 25

    OpenCV:无法正确将数据传递给函数

  26. 26

    坚持如何将数据传递给函数

  27. 27

    将文件数据传递给函数

  28. 28

    将已解析的重复数据传递给函数

  29. 29

    如何将Firebase数据传递给函数

热门标签

归档