Я выполняю облачную функцию, которая написана в nodeJS. Здесь функция срабатывает, когда поступают данные из внешнего источника, и в этой функции мне нужно вызывать и проверять БД в конкретной таблице, но это занимает более 5 за несколько секунд до выполнения моей getDataFromDb
функции моя основная функция завершила выполнение. Плюс есть функция с именем updateItems(postdate);
, которая запускается, если я не могу найти данные в моей БД при запуске getDataFromDb
Я пробовал асинхронное ожидание, но я не уверен, где я делаю неправильно. моя функция всегда заканчивается раньше, чем завершается моя операция с БД.
exports.handler = (event, context) => {
//here i am making data ready for DB and checking for the record if that is present in db
getDataFromDb(uniqueArray);
function getDataFromDb(uniqueArray) {
var params = {
// params for get reques
}
//db get operation
db.get(params, function (err, data) {
//takes time here
if (err) {
console.log(err); // an error occurred
}
else {
//another DB operation updateItems(postdata);
//takes time here
}
else {
console.log("first run for db")
//another DB operation updateItems(postdata);
//takes time here
}
}
});
}
});
console.log("main function ended")
};
ожидаемый результат должен дождаться выполнения внутренней функции, а затем завершить основную функцию, но на самом деле основная функция завершается первой, а затем вызывающая функция БД завершается