我在尝试使用异步数据初始化过滤器时遇到了麻烦.
过滤器非常简单,它需要将路径转换为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)
我对承诺并不是很满意,是否正确使用它们?
我通过 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