Необходимо заставить node.js код работать последовательно. Есть функция, которая отрабатывает поздно, нужно дождаться её выполнения. Сейчас она возвращает огромную кипу json кода, без ответа. Ответ я вижу в console потом, когда весь последующий код основной функции отработал. Почему await не работает? Что я делаю не так?
async function вызываемая_функция(){
return await request.get({url:'https://test_site/'}, function optionalCallback(err, body) {
data = JSON.parse(body);
console.log(data); // "Успех!" - выводит отлично, но слишком поздно
return data ; // "Успех!";
});
}
async function основная_функция(callback){
...
let get_data = await вызываемая_функция();
console.log(get_data); // Вместо слова "Успех!" выводит много ненужного кода
...
return callback(...);
}
Если оберну код вызываемой функции в return await Promise.all(...), получу вот такую ошибку:
TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))
Как дождаться выполнения функции и получить ответ? Без callback вложенностей, а в переменную get_data, как в моём примере...