【发布时间】:2018-06-26 14:02:44
【问题描述】:
我正在尝试通过 AWS Lambda 从现有应用程序运行特定函数,使用 JS 开发工具包从我的 node.js 应用程序调用 Lambda。由于我要覆盖现有函数,因此我必须保留其基本结构,即:
overwrittenFunction = function(params) {
//get some data
return dataArray;
}
..所以我需要一个可以返回的数组,如果我想保持我使用的 lib 的底层结构相同。现在据我所知,Lambda 调用是异步的,因此不可能执行以下操作:
overwrittenFunction = function(params) {
lambda.invoke(params, callback);
function callback(err,data) {
var dataArray = data;
}
return dataArray;
}
(我也用 promises 和 async/await 尝试过类似的事情)。
afaik 我现在有两个选择:以某种方式弄清楚如何进行同步 Lambda 调用,或者修改我的库/现有应用程序(如果可能的话,我宁愿不这样做)。
有没有办法做这样的事情并以某种方式返回我期望的值?
(我使用的是节点 v8.9.4)
【问题讨论】:
-
你使用的是什么版本的
node? -
@dashmug 我正在使用 v8.9.4
标签: node.js amazon-web-services asynchronous aws-lambda aws-sdk-js