我刚学习NodeJS
而且我来自Java / Scala背景。
我正在编写一个与Amazon SNS
通信并处理端点/令牌的服务。
基本上我的环境中有一个SNS应用程序列表,这个列表很少被修改,所以我想在服务器启动时将其值预先加载到变量或常量中。
亚马逊提供的SNS-SDK
具有列出应用程序的功能:
listPlatformApplications(params, callback)
所以我天真地尝试做的是:
var applications = [];
var loadApplications = function() {
sns.listPlatformApplications({}, function(err, data){
if (err) {
console.log(err);
} else {
return data['PlatformApplications'].map(function (app) {
return app['PlatformApplicationArn']
});
}
});
}
loadApplications();
基本上发生的事情是,当列表仍然为空时,有些调用会在此回调完成之前进入。
如何在服务器开始响应请求之前预先加载此数据或任何其他数据?
或许我对此的推理是错误的,并且会有另一种方法在NodeJS
处理这个更惯用的方法