Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Dynamodb batchWrite不';不能在Lambda中使用异步_Node.js_Amazon Web Services_Lambda_Amazon Dynamodb - Fatal编程技术网

Node.js Dynamodb batchWrite不';不能在Lambda中使用异步

Node.js Dynamodb batchWrite不';不能在Lambda中使用异步,node.js,amazon-web-services,lambda,amazon-dynamodb,Node.js,Amazon Web Services,Lambda,Amazon Dynamodb,batchWrite在Laqmbda中不能与async一起工作。代码将插入一条记录,但它不能。但是,当我删除async时,它就可以工作了 const AWS = require("aws-sdk"); const documentClient = new AWS.DynamoDB.DocumentClient(); AWS.config.update({ region: "us-west-2" }); const tableName = "Bl

batchWrite在Laqmbda中不能与async一起工作。代码将插入一条记录,但它不能。但是,当我删除async时,它就可以工作了

const AWS = require("aws-sdk");
const documentClient = new AWS.DynamoDB.DocumentClient();

AWS.config.update({ region: "us-west-2" });
const tableName = "BlrSession-56pfbzohnvdqpac6asb627z2wu-dev";
exports.handler = async (event, context, callback) => {
  try {
    let games = [];
    games.push({
      PutRequest: {
        Item: {
          id: Math.random().toString(36).substring(2) + Date.now().toString(36),
        },
      },
    });

    let params = {
      RequestItems: {
        [tableName]: games,
      },
    };

    documentClient.batchWrite(params, function (err, data) {
      if (err) {
        callback(err);
      } else {
        callback(null, data);
      }
    });
  } catch (err) {
    return err;
  }
};
结果如下。没有错误

Ensuring latest function changes are built...
Starting execution...
Result:
null
Finished execution.

你们有相同的行为吗?

您不能将回调方法与异步/等待方法结合起来。在这里最简单的方法是使其全部异步/等待(不要忘记调用时的
.promise()

const AWS=require(“AWS sdk”);
const documentClient=new AWS.DynamoDB.documentClient();
AWS.config.update({地区:“us-west-2”});
const tableName=“BlrSession-56pfbzohnvdqpac6asb627z2wu-dev”;
exports.handler=async(事件、上下文、回调)=>{
试一试{
让游戏=[];
推({
请求:{
项目:{
id:Math.random().toString(36).子字符串(2)+Date.now().toString(36),
},
},
});
设params={
请求项目:{
[表名]:游戏,
},
};
return wait documentClient.batchWrite(params.promise();
}捕捉(错误){
返回错误;
}
};

您不能将回调方法与异步/等待方法结合使用。在这里最简单的方法是使其全部异步/等待(不要忘记调用时的
.promise()

const AWS=require(“AWS sdk”);
const documentClient=new AWS.DynamoDB.documentClient();
AWS.config.update({地区:“us-west-2”});
const tableName=“BlrSession-56pfbzohnvdqpac6asb627z2wu-dev”;
exports.handler=async(事件、上下文、回调)=>{
试一试{
让游戏=[];
推({
请求:{
项目:{
id:Math.random().toString(36).子字符串(2)+Date.now().toString(36),
},
},
});
设params={
请求项目:{
[表名]:游戏,
},
};
return wait documentClient.batchWrite(params.promise();
}捕捉(错误){
返回错误;
}
};

我能做到。我很感激,杰森,我能做到。我很感激,杰森。