首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Promise.all(promiseList)不工作,但Promise.all(promiseList[0])工作

Promise.all(promiseList)不工作,但Promise.all(promiseList[0])工作
EN

Stack Overflow用户
提问于 2021-02-23 21:30:43
回答 1查看 243关注 0票数 2

我使用aws,它获取项目列表,并异步推送表中的项。在这里,promise.all(promiseList)不会在表中添加数据,但是执行promise.all(promiseList)可以确保将第一个元素推入表中。我怎么才能让它等待一切呢?我的密码-

代码语言:javascript
复制
let promiseList = [];
    // await Promise.all(
    promiseList.push(
        event.Records.map(async record => {
                console.log(record.dynamodb.Keys.ServiceOrderId.S);
                console.log('Inside initiate payment');
        
                const paymentObject = {
                    paymentId: record.dynamodb.Keys.ServiceOrderId.S,
                    totalAmount: "1200"
                };
                console.log(paymentObject);
                
                const dynamoDBParams = {
                    TableName : TABLE_NAME,
                    Item : paymentObject
                };
                return await  DynamoDBClient.put(dynamoDBParams).promise();
            }
        )
    );
    return await  Promise.all(promiseList[0]);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-23 23:13:23

我能看到几处变化

once.

  • DynamoDBClient.put(dynamoDBParams).promise()
  • 我们不需要为每个put完成await,这将是效率低下的,我们希望继续执行all at
  • 返回一个承诺,它可以被推入数组,而不是推动整个循环

以下是完整的Lambda的外观:

代码语言:javascript
复制
const AWS = require("aws-sdk");
AWS.config.update({ region: "us-east-1" });
let docClient = new AWS.DynamoDB.DocumentClient();

exports.handler = async function(event) {
  const table = 'test'
  
  var promiseArray = [];
  event.Records.map(record => {
    console.log('record', record);
      const promise = docClient.put({
        TableName: table,
        Item: {
          pk: record.pk,
          title: record.title,
        },
      }).promise();
      promiseArray.push(promise)
  })
  return Promise.all(promiseArray);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66341388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档