首页 > 解决方案 > 在我的 AWS 查询函数中使用 Promise 的最简洁方法是什么?

问题描述

我觉得我目前对这个功能的实现很混乱,我希望让它更干净。我在网上看过一些例子,并且有很多不同的方式来使用 Promises。我不确定哪种方式最适合这种情况。

我查看了AWS 文档示例,但它们使用的是if else语句。它有时不会返回我需要的结果,所以这就是我使用 Promise 的原因。我还查看了使用 Promise 的本指南:AWS 文档 Promise 示例

我目前的功能:

async function queryTable(params) {
   return await new Promise((resolve, reject) => {
      ddb.query(params, (err, data) => {
         if (err) {
           console.log(err);
            reject(err);
          } else {
            resolve(data.Items);
          }
       });
   });
 }

我的尝试:

async function queryTable(params) {
  const data = await ddb.query(params).promise();
  data.then(function (data) {
    console.log('SUCCESS');
  }).catch(function(err) {
    console.log(err);
  });
}

这是一个很好的方法吗?

标签: javascriptnode.jsasynchronousamazon-dynamodbaws-sdk

解决方案


推荐阅读