Я хочу получить доступ к списку голосов, которые являются частью SpeechSynthesis API на рабочем столе Chrome, Safari и Firefox. Если я открываю новую вкладку в каждом браузере и через консоль запускаю:
speechSynthesis.getVoices()
... я ожидаю, что будет возвращен массив, содержащий объекты SpeechSynthesisVoice (т.е. доступные голоса). Firefox и Safari ведут себя так, как ожидалось, но в Chrome первый вызов getVoices () возвращает пустой массив. Мне нужно снова вызвать метод, чтобы получить ожидаемый заполненный массив.
Почему Chrome ведет себя так? Выполняет ли он какую-то ленивую загрузку определенных веб-API? Пожалуйста, помогите мне понять.