我正在编写我的第一个“真实” AWS Lambda应用程序,并且需要同步几个调用。我正在调用的方法似乎没有“同步”版本。
具体地说,我想调用Dynamo,然后使用从JSON解析的数据发出http请求。
设置好之后,这是我正在使用的Dynamo电话...
dynamoDb.get(params, function(err, data) {
if (err) {
console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2));
} else {
url = parse(data);
console.log("GetItem succeeded:", JSON.stringify(data, null, 2));
}
});
然后我使用该网址调用http请求...
http.get(url,function(res){
res.on('error', function(err){
console.log(err);
});
res.on('data',function(d){
console.log("received more chunks");
chunks += d;
});
res.on('end',function(){
console.log("http request complete");
})
}
问题似乎是第二个呼叫没有等待第一个呼叫。我已经研究过使用异步/等待,但是我不确定如何将它们与错误处理回调一起使用。我在网上发现的示例太笼统,难以理解,或者没有错误处理就很具体。
知道我如何同步这两个吗?
答案 0 :(得分:0)
暂时忽略异步/等待,您是否尝试过:
const arr = [129, 139, 155, 176];
// sum all the elements of the array
const sum = arr.reduce(function (accumulator, currentValue){
return accumulator + currentValue;
});
const average = sum / arr.length;
console.log(average);