Показать сообщение отдельно
  #1 (permalink)  
Старый 27.05.2017, 18:21
Новичок на форуме
Отправить личное сообщение для SiriusED Посмотреть профиль Найти все сообщения от SiriusED
 
Регистрация: 27.05.2017
Сообщений: 9

Async\await + typescript, Функция зацикливается
Нашел я пример использования async\await, но я не догоню как это все работает, и у меня вторая версия функции где есть проверка на true, тупо зацикливается и так и потоянно выдает ответ, когда проверка срабатывает в true.

Вот коды функций:
// Работает как мне и надо
    speechIsEnded() {
        return new Promise<number>(function(speechEnded, rejected) {
            setTimeout(function() {
                console.log("Waiting....");
                    speechEnded(11111);
            }, 1000)
        });
    }
 
    // Не работает
    speechIsEnded() {
        return new Promise<number>(function(speechEnded, rejected) {
            setTimeout(function() {
                console.log("Waiting....");
                if (window.speechSynthesis.speaking) // Для теста проверяю на speaking == true
                {
                    speechEnded(11111); // вываливает в консоль постоянно когда speaking == true, и так тут и сидит на этой проверке каждую секунду
                }
            }, 1000)
        });
    }


Код вызова:
await this.speechIsEnded().then(function(response) {
            console.log(response); // При втором варианте функции постоянно выводит в консоль ответ, и при этом не завершает проверку, 
        });
 
        console.log("End");


Что не так? Где поправить что бы заработало как мне нужно?
Ответить с цитированием