我想使用promise 在JavaScript中使用aws sdk.

而不是默认的回调样式:

dynamodb.getItem(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

相反,我想使用promise样式:

dynamoDb.putItemAsync(params).then(function(data) {
  console.log(data);           // successful response
}).catch(function(error) {
  console.log(err, err.stack); // an error occurred
});

推荐答案

我相信调用现在可以附加.promise()来表示给定的方法.

你可以在2.6.12 https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md#2612中看到它开始被引入

你可以在AWS的博客https://aws.amazon.com/blogs/compute/node-js-8-10-runtime-now-available-in-aws-lambda/中看到它的使用示例

let AWS = require('aws-sdk');
let lambda = new AWS.Lambda();

exports.handler = async (event) => {
    return await lambda.getAccountSettings().promise() ;
};

Node.js相关问答推荐

postgresql层与应用层的序列化

Express 4.18正文解析

Twilio-获取呼叫录音不起作用的请求

如何将Node.js与Nuxt.js一起使用?

FindOne()返回所有值,而不是一个值

控制台显示一个长对象,我可以';每当我发布更新Mongoose数据库的请求时,我都不知道错误是什么,

错误:无法为 /blog 收集页面数据并且在 object.fetch 处获取失败

express 和 mongoose 的新密码不正确

为什么当我使用waitForSelector时 Puppeteer 导致我的测试套件挂起 30 秒,即使我在页面和浏览器上调用关闭?

fastify:流过早关闭

npm chokidar 触发事件两次

如何在 TypeScript 中输出 Hackerrank 二叉树问题?

`npm install` 以Killed结尾

mongoose 模式中的嵌套对象

socket.io 发出回调合适吗?

使用 pg-promise 进行多行插入

我可以在 Heroku 中运行咖啡脚本吗?

Node.js 应用程序有周期性的缓慢和/或超时(不接受传入的请求)

- configuration.output.path:提供的值public不是绝对路径!使用 Webpack

什么时候应该将函数存储到变量中?