Ionic Await for loop не работает в последовательности распознавания речи - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь создать приложение, которое задает вопрос, а затем слушаю ответ.Для этого я использую цикл for с await для последовательной работы из массива вопросов

async listen(p: string){
    await this.textToSpeech.speak({
          text: p,
          rate: 0.8,
          locale: "en-US"
    });
    this.speechRecognition.startListening()
    .subscribe(
        (matches: Array<string>) => {
             console.log(matches);
             this.datos.push(matches[0]);
        }
    )
}

async processArray(array) {
    for (const item of array) {
        await this.listen(item);
    }
}

Когда я один раз использую только функцию прослушивания, код задает вопрос, а затем ожидаетответ, если я использую его более одного раза без цикла, он задает вопрос, затем слушает, но не ждет ответа, а затем задает второй вопрос и т. д.

Если я используюцикл, это происходит так же, как в последней ситуации, он просит все и слушает, но он не ждет ответа.Я хочу задать следующий вопрос только тогда, когда ответ получен

...