node.js - 如何通过 AWS SDK Javascript 使用 Async 和 Await
问题描述
我正在使用 KMS 库使用 AWS 开发工具包。我想使用 async 和 await 而不是回调。
import AWS, { KMS } from "aws-sdk";
this.kms = new AWS.KMS();
const key = await this.kms.generateDataKey();
但是,当包装在异步函数中时,这不起作用。
我如何在这里使用异步和等待?
解决方案
如果您使用版本 > 2.x 的 aws-sdk,您可以将 a 转换为aws.Request
具有链.promise()
功能的 Promise。对于您的情况:
try {
let key = await kms.generateDataKey().promise();
} catch (e) {
console.log(e);
}
key
is a - 回调的KMS.Types.GenerateDataKeyResponse
第二个参数(回调风格)。
e
is a AWSError
- 回调函数的第一个参数
注意:await
表达式只允许在异步函数中使用
推荐阅读
- javascript - 没有可用于此商家的可接受的卡 - Google Pay
- python - Django 的模板不存在
- build - 如何在 CMake 的 set_target_properties() 函数中将多个项目添加到同一属性?
- java - Java:如何允许在 JTextField 中按下退格键
- javascript - 在线上两点之间设置线条颜色
- r - 带有日期范围检查的表连接
- powershell - Powershell脚本,用于获取包含文件夹的文件名和文件大小的csv文件
- android - java.lang.OutOfMemoryError: pthread_create (1040KB stack) failed: 在改造中重试
- c++ - 有序数的有效稳定总和
- python - UserManager 中的 Django set_password() 方法正在保存纯文本