我正在查看 Amazon Lambda 用于在 S3 存储桶中调整图像大小的示例代码。 示例代码(为清楚起见截断):
// Download the image from S3, transform, and upload to a different S3 bucket.
async.waterfall([
function download(next) {
// Download the image from S3 into a buffer.
s3.getObject({Bucket: srcBucket, Key: srcKey}, next);
},
function tranform(response, next) {
gm(response.Body).size(function(err, size) {
// do resize with image magic
}
}
]);
//... more handling code
...表明他们正在使用异步瀑布。但是,这些有序步骤中的每一个似乎都依赖于前一个函数的结果。所以本质上,这是一个顺序操作。
在这里使用异步瀑布有什么好处?这与亚马逊的 Lambda 执行引擎有关,还是只是节点中的一个明智的设计决策?