Я хотел бы остановить / подождать цикл for, пока window.speechSynthesis.speak(audio)
не закончит чтение текста, а затем перейти к следующей итерации.У меня есть код ниже:
var all = "Oak is strong and also gives shade \n \
Cats and dogs each hate the other \n \
The pipe began to rust while new \n Bye."
sentences = all.split('\n')
for (i = 0; i < sentences.length; i++) {
sentence = sentences[i]
console.log(sentences[i]);
audio = new SpeechSynthesisUtterance(sentence)
window.speechSynthesis.speak(audio)
}
Теперь я хочу, чтобы после печати каждого sentences[i]
.Следующая sentences[i]
не будет напечатана до тех пор, пока window.speechSynthesis.speak(audio)
не будет закончена, после завершения речи будет напечатана sentences[i]
для следующей итерации.
Так, как я могу заставить цикл ждать, покафункция не завершена?
Примечание: Я могу заставить его ждать в течение постоянного времени, но я хочу динамическое ожидание, то есть ожидание должно быть таким, чтобы window.speechSynthesis.speak(audio)
требовало времени длязакончить текст.