Задать вопрос
@pr0kazn1k

Как решаются стандартные проблемы с асинхронностью javascript?

Какие изменения необходимо внести чтобы, в r уже лежал массив после вызова метода get, проблема в том, что метод может отрабатывать до 2 секунд. Так же необходимо использовать класс, так как есть еще методы. Возможно, что это ужасный код, но он по крайне мере работает. Буду очень благодарен, если вы дадите несколько советов.

function Class(){
    this.result;
}

Class.prototype.get = function(){
    play();
        
    function play(){
        /*Запросы, выполняются какое-то время*/
        setTimeout(function(){
            this.result = 'array';
        }, 1500);
    }
    
    return this.result;
}

c = new Class();
r = c.get();
// необходимо чтобы в r уже лежал array
console.log(r);
  • Вопрос задан
  • 2229 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Николай Марков К ответам на вопрос (3)
mainameiz
@mainameiz
Full-stack web-developer
Если я правильно помню, о в js можно сделать синхронный запрос, т.е. страница и ваш скрипт "зависнет" на время выполнения запроса. Если же вы хотите использовать именно setTimeout, то без коллбэков не обойтись.
Ответ написан
Комментировать