小编Dav*_*net的帖子

AngularJS:异步初始化过滤器

我在尝试使用异步数据初始化过滤器时遇到了麻烦.

过滤器非常简单,它需要将路径转换为name,但为此需要一个对应的数组,我需要从服务器获取.

在返回函数之前,我可以在过滤器定义中执行操作,但异步方面可以防止这种情况发生

angular.module('angularApp').
  filter('pathToName', function(Service){
    // Do some things here

    return function(input){
      return input+'!'
    }
  }
Run Code Online (Sandbox Code Playgroud)

使用承诺可能是可行的,但我对角度载荷的过滤方式没有任何清楚的了解.这篇文章解释了如何通过服务实现这样的魔力,但是有可能对过滤器做同样的事情吗?

如果有人对如何翻译这些路径有更好的了解,我会全力以赴.

编辑:

我尝试了承诺approch,但有些事情是不对的,我没看到:

angular.module('angularApp').filter('pathToName', function($q, Service){

  var deferred = $q.defer();
  var promise = deferred.promise;

  Service.getCorresp().then(function(success){
    deferred.resolve(success.data);
  }, function(error){
    deferred.reject();
  });

  return function(input){
    return promise.then(
      function(corresp){
        if(corresp.hasOwnProperty(input))
          return corresp[input];
        else
          return input;
      }
    )
  };
});
Run Code Online (Sandbox Code Playgroud)

我对承诺并不是很满意,是否正确使用它们?

javascript asynchronous filter angularjs

22
推荐指数
2
解决办法
2万
查看次数

如何在API网关中限制每个用户的速率?

我通过 API Gateway 和 Lambda 在 AWS 上运行业务 API。目前,我使用内置的使用计划和 API 密钥来处理速率限制。每个帐户级别(例如基本、中等、高级)都与一个使用计划相关联,每个客户的 API 密钥都链接到该使用计划。

我刚刚发现单个 AWS 账户每个区域可以拥有 500 个 api 密钥的硬性(但可增加)限制(https://docs.aws.amazon.com/fr_fr/apigateway/latest/developerguide/limits)。 html)。

依靠 API 密钥来限制每个客户的速率是否可持续?我们最终将达到 500 人的限制。我们还可以使用其他解决方案吗?

多谢

rate-limiting amazon-web-services aws-lambda aws-api-gateway api-gateway

3
推荐指数
1
解决办法
4978
查看次数