小编Geo*_*ole的帖子

异步/等待不起作用(javascript/DynamoDB)

我有一个 DynamoDB Put 请求封装到一个异步函数中。

 async function putter(param1, param2) {

        const paramsPut = {
            TableName: MyTableName,
            Item: {
                "hashKey": param1,
                "sortKey": param2,
            }
        };

        dynamodb.put(paramsPut, function(err, data) {

            if (err) {
                console.log("Failure")
                console.log(data)
                return data
            }
            else {
                console.log("Success")
                console.log(data)
                return data
            }
        });
    };
Run Code Online (Sandbox Code Playgroud)

异步函数的返回值放置在响应函数中——这应该在执行 put 操作(成功或不成功)时提供一个承诺。

然后我从另一个异步函数调用这个异步 put 函数:

    var param1 = "50";
    var param2 = "60";


    async function main() {

        await putter(param1 , param2)
        console.log("Feedback received")

    }
Run Code Online (Sandbox Code Playgroud)

当我调用这个 aysnc 主函数时,我希望它在编写“收到反馈”之前提供来自 put 函数的 Success 语句,因为它应该等待 put 函数响应。

但是,在 …

async-await amazon-dynamodb

13
推荐指数
1
解决办法
9814
查看次数

标签 统计

amazon-dynamodb ×1

async-await ×1