可以使用 async/await 或者 Promise 等方式来等待 client.send 方法的返回结果。以下是使用 async/await 方式解决的代码示例:
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
async function uploadToS3(bucketName, key, data) {
const result = await s3.upload({
Bucket: bucketName,
Key: key,
Body: data
}).promise();
console.log(`Uploaded ${result.Key} to ${result.Bucket}.`);
}
uploadToS3('my-bucket', 'my-key', 'my-data')
.catch((err) => {
console.error(err);
});
在上面的例子中,我们使用了 async/await 来等待 s3.upload 方法的返回结果,并将其保存在 result 变量中。注意,我们还需要调用 promise 方法来获取返回的 Promise 对象,才能使用 async/await 等方式来等待结果。如果请求失败,则会抛出错误,可以在 catch 中捕获。