最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Nodejs 10:DynamoDB为什么将多次赋予成功的功能

IT培训 admin 15浏览 0评论

Nodejs 10:DynamoDB为什么将多次赋予成功的功能

我正在编写Node js 10.x lambda函数以将详细信息放入DynamoDB表中。

下面是代码

const AWS = require('aws-sdk');
var db = new AWS.DynamoDB.DocumentClient();
var tableName="xyz";

exports.handler = async (event) => {
    // TODO implement
    console.log("Event: "+ JSON.stringify(event));

    var response = {
        statusCode: 200,
        "headers": {
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Credentials" : true
        },
    };
    await db.put({
        TableName: tableName,
        Item: {
            userid: event.userid,
        }
    }, (error, data) => {      
        if (error) {
            console.log("error:"+ error);
        }
        else{
            console.log("Success");
        }
    }).promise();

    return response;
};

我对成功返回的随机数感到友善

输出执行1

2019-11-07T07:03:45.388Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success
2019-11-07T07:03:45.510Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success
2019-11-07T07:03:45.511Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success

输出执行2

2019-11-07T07:08:19.270Z    3ce51f5d-bbbc-4dd6-b46f-2149ee9bb9cf    INFO    Success

输出执行3

2019-11-07T07:08:27.410Z    2625bba5-b8e1-40e4-8704-7c0d486f6dff    INFO    Success
2019-11-07T07:08:27.431Z    2625bba5-b8e1-40e4-8704-7c0d486f6dff    INFO    Success

**有人知道这个问题的原因吗?

我对Node js 10.x相对较新。所以如果我错过了代码,请帮我**

回答如下:

您正在同时使用callback and promise,请删除回调。

您可以尝试类似的东西

exports.handler = async (event, context) => {
    const params = {
        TableName: tableName,
        Item: {
            userid: event.userid,
        }
    };

    try {
        const data = await dynamoDB.put(params).promise();
        console.log("Data: ", data);
    } catch(error) {
        console.error("Error:", error);
    }
}

Nodejs 10:DynamoDB为什么将多次赋予成功的功能

我正在编写Node js 10.x lambda函数以将详细信息放入DynamoDB表中。

下面是代码

const AWS = require('aws-sdk');
var db = new AWS.DynamoDB.DocumentClient();
var tableName="xyz";

exports.handler = async (event) => {
    // TODO implement
    console.log("Event: "+ JSON.stringify(event));

    var response = {
        statusCode: 200,
        "headers": {
            "Access-Control-Allow-Origin" : "*",
            "Access-Control-Allow-Credentials" : true
        },
    };
    await db.put({
        TableName: tableName,
        Item: {
            userid: event.userid,
        }
    }, (error, data) => {      
        if (error) {
            console.log("error:"+ error);
        }
        else{
            console.log("Success");
        }
    }).promise();

    return response;
};

我对成功返回的随机数感到友善

输出执行1

2019-11-07T07:03:45.388Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success
2019-11-07T07:03:45.510Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success
2019-11-07T07:03:45.511Z    f451dfc1-01ea-41d0-a998-945cb0f18be1    INFO    Success

输出执行2

2019-11-07T07:08:19.270Z    3ce51f5d-bbbc-4dd6-b46f-2149ee9bb9cf    INFO    Success

输出执行3

2019-11-07T07:08:27.410Z    2625bba5-b8e1-40e4-8704-7c0d486f6dff    INFO    Success
2019-11-07T07:08:27.431Z    2625bba5-b8e1-40e4-8704-7c0d486f6dff    INFO    Success

**有人知道这个问题的原因吗?

我对Node js 10.x相对较新。所以如果我错过了代码,请帮我**

回答如下:

您正在同时使用callback and promise,请删除回调。

您可以尝试类似的东西

exports.handler = async (event, context) => {
    const params = {
        TableName: tableName,
        Item: {
            userid: event.userid,
        }
    };

    try {
        const data = await dynamoDB.put(params).promise();
        console.log("Data: ", data);
    } catch(error) {
        console.error("Error:", error);
    }
}
发布评论

评论列表 (0)

  1. 暂无评论