• Просьба не публиковать сообщения с предложениями продажи модов или сборок!

    Мы против использования и перепродажи слитых модов и переделок на их основе. Остальное также сложно верифицировать, поэтому в целом пока что запрещаем эту тему на сайте.

Помощь с callback'ом

BlackFox

Trainee
Сообщения
9
Помогите разжевать что я делаю не так, когда мне надо вытащить данный callback на верх.

unknown (1).png

unknown (2).png
 
console.log это код который сразу даёт результат выполнения (странно что ты там получаешь undefined, потому что по идее arr пустая строка и будет "arr:"), а у твоей функции loadZoneInfo результат выполнения будет позже так как она зависит от DB.Handle.query, точнее от того когда будет вызван колбек DB.Handle.query (err, result) => {...}, а он естественно не будет вызван моментально так как происходит обращение к БД и эта операция под капотом выполняется асинхронно(не моментально а с задержкой)
 
Последнее редактирование:
а ну и решение из этого простое, перенеси console.log в колбек
function(infoZone){ console.log('arr:', infoZone) }
 
Мне в дальнейшем, этот массив надо будет использовать, по этому его надо пробросить на верх
 
JavaScript:
let arr = '';
async function infoWzp() {
    arr = await loadZoneInfo();
    console.log('arr:', arr);
}
function loadZoneInfo(callback) {
    return new Promise((res) => {
        DB.Handle.query('SELECT * FROM wzp_info', (err, result) => {
            if (err)
                return console.log(err);
            
            if (result.length < 1)
                return;

            res(result);
        });
    });
}
infoWzp()
 
Назад
Верх