У меня есть запрос 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
}
});
};
Возвращение асинхронной функции помещается в функцию ответа - эта функция должна возвращать обещание при выполнении операции put (либо успешно, либо безуспешно).
Затем я вызываю эту асинхронную функцию пут из другой асинхронной функции:
var param1 = "50";
var param2 = "60";
async function main() {
await putter(param1 , param2)
console.log("Feedback received")
}
Когда я вызываю эту основную функцию aysnc, я ожидаю, что она предоставит оператор Success из функции put до написания "Обратная связь получена", так как она должна ожидать ответа функции put.
Однако моя консоль регистрирует "Отзыв получен" до до
запись оператора «Success» в асинхронную функцию put , которую я
ожидал.
Что мне здесь не хватает? Спасибо за вашу поддержку!