我有一个 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 函数响应。
但是,在 …