У меня есть функция, которая должна возвращать значение, когда пользователь нажимает на элемент - PullRequest
0 голосов
/ 03 мая 2020
function name(){
  var canReturn = false
  $("#click").click(function(){
    $("#click").unbind("click");
    canReturn = true;         
  });


   return await (async function(){
        while(!canReturn){
            setTimeout(function(){}, 1000);
        }
        return variable;
    }());
}

Но это не работает. Я использую эту функцию для выбора меню. Он показывает элементы для выбора, и когда пользователь выбрал необходимые элементы и нажмите на кнопку, мне нужно вернуть эти элементы из функции.

1 Ответ

0 голосов
/ 03 мая 2020
(async function(){
    var prepareToGet;
    await LongFunction().then((resolve) => {
        prepareToGet = resolve;
    });

    console.log(prepareToGet);
    //code 
    //code 
})();

function LongFunction(){
    function returnPromise() { 
        return new Promise(resolve => {
            $("#click").click(function(){
                resolve(variable);
            });
        });
    }
    let variable = "hi";

    async function f1() {
        var x = await returnPromise();
        return x;
    }

    return f1();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...