NB ПЕРЕД УДАЛЕНИЕМ В ДУБЛИКАТЕ: Я понимаю, что подобные вопросы задавались много раз раньше, однако я потратил несколько часов, пытаясь реализовать это, используя ответы других людей, в последнее время ответ от этого thread Правильный способ ожидания завершения одной функции до завершения sh, прежде чем продолжить? и не увенчались успехом.
У меня есть сервер nodeJS, который успешно возвращает данные, когда мой функция f1 запрашивает его, а другая функция f2, которая вызывает f1, а затем должна что-то делать с выводом этой асин c функции. Я пытаюсь сделать это с помощью синтаксиса async / await и дополнительного обещания в f2, как показано ниже.
async function f1(){
try{
let response = await fetch('MY SERVER URL');
let data = await response.json();
return await data;
}
catch(e) {
alert(e);
}
};
function f2() {
var promise = f1();
promise.then(function(result) {
JSONdata = promise.markers;
console.log("JSON read into f2");
})
console.log(JSONdata);
, а затем f2 продолжает делать другие вещи ...
Однако проблема в том, что я испытываю состояние гонки с результатом того, что f1 не возвращается вовремя, чтобы иметь возможность что-либо с ним сделать, и поэтому переменные не определены.
Любая помощь в том, как смягчить это, будет оценил, спасибо.