Вы должны дождаться всех обещаний с Promise.all (обещания)
function RunBookings(Records) {
const promises = [];
for (var k = 0; k < gDestinationsArray.length; k++) {
let promise = new Promise(function(resolve, reject) {
..... your code....
promises.push(promise);
}
return promises;
}
function ABCD() {
}
Promise.all(RunBookings(Records))
.then( val => {
ABCD();
});
или с асинхронным ожиданием
async function RunBookings(Records) {
const promises = [];
for (var k = 0; k < gDestinationsArray.length; k++) {
let promise = new Promise(function(resolve, reject) {
..... your code....
promises.push(promise);
}
return promises;
}
function ABCD() {
}
let result = await RunBookings(Records);
ABCD();
или если вы хотите вернуть одно обещание
async function RunBookings(Records) {
await Promise.all(gDestinationArray.map(async (gDestination) => {
............
}));
}
RunBookings(Records);
ABCD();