Как в Chrome (v72, W10), так и в Opera следующий фрагмент очень редко запускает присоединенный end
прослушиватель SpeechSynthesisUtterance
, возможно, 1 из 50 раз, когда выполняется фрагмент. (Извините, в оригинальной версии это могло быть воспроизведено намного легче - теперь, создавая высказывание по нажатию кнопки, кажется, сделало ошибку намного более редкой)
button.onclick = () => {
console.log('start script');
button.disabled = true;
const utt = new SpeechSynthesisUtterance('e');
utt.addEventListener('end', () => {
console.log('end event triggered');
});
// just for debugging completeness, no errors seem to be thrown though
utt.addEventListener('error', (err) => {
console.log('err', err)
});
speechSynthesis.speak(utt);
setTimeout(() => {
console.log('finished?');
}, 1500);
};
<button id="button">click</button>