IDialogWaterfallStep interface
Firma per le funzioni passate come passaggi per DialogAction.waterfall().
Le cascate consentono di richiedere informazioni a un utente usando una sequenza di domande. Ogni passaggio della cascata può eseguire uno dei prompt predefiniti , avviare un nuovo dialogo chiamando session.beginDialog(), passare al passaggio successivo della cascata usando manualmente skip()o terminare la cascata.
Quando un dialogo o un prompt predefinito viene chiamato da un passaggio a cascata, i risultati di tale finestra di dialogo o prompt verranno passati tramite il parametro results al passaggio successivo della cascata.
Gli utenti possono dire cose come "mai mente" per annullare le richieste predefinite, quindi è consigliabile proteggersi da questo almeno controllando risultati.risposta prima di procedere. Una spiegazione più dettagliata del motivo per cui la cascata continua può essere determinata esaminando il codice restituito per i risultati .resumed.
È possibile passare manualmente al passaggio successivo della cascata usando la funzione skip() passata. La chiamata a
È possibile terminare una cascata all'inizio cadendo in ogni passaggio della cascata usando chiamate a skip() o semplicemente non avviando un'altra richiesta o un altro dialogo.
nota: le cascate hanno un ultimo passaggio nascosto che terminerà automaticamente il dialogo corrente se si chiama un prompt o un dialogo dall'ultimo passaggio. Ciò è utile in cui si dispone di uno stack completo di dialoghi e si desidera una chiamata a session.endDialog() dall'ultimo elemento figlio nello stack per terminare l'intero stack. La chiusura dell'ultimo elemento figlio attiverà tutti i suoi genitori per passare a questo passaggio nascosto che scadrà la chiusura fino allo stack. Si tratta in genere di un comportamento desiderato, ma se si vuole evitare o arrestarlo in un punto centrale, è necessario aggiungere un passaggio alla fine della cascata che non esegue alcuna operazione o chiama qualcosa come session.send() che non farà avanzare la cascata in avanti.