Как вызвать родительский диалог в Microsoft Teams Bot - NodeJS?

У меня есть три диалога:, и. и оба могут вызывать .Теперь если вызывается из, в конце, как мне определить, что был вызван из, и мне нужно перезвонить ему. Если я использую return await context.endDialog();, он переходит к следующему шагу. Диалоговые вызовы происходят на основе таких условий, как

      DialogA {
    async step1(context) {
        if(some condition) {
            return await context.beginDialog(DialogC);
        }
        //some other code
    }
    async step2(context) {
        //step2 processing code
    }
}

Все диалоги - это WATERFALLDIALOG. Поэтому мне нужно найти, как мне вернуться в ту же точку, где я вызвал DialogC в любом из диалоговых окон или перезапустите DialogA или DialogB.

1 ответ

Я думаю, что класс ReplaceDialog - это, возможно, то, что вы ищете, если я понял ваше требование. Кроме того, вы можете передать значение в свой диалог, используя свойство options.

      DialogA
var options = ‘FromDialogA’
return await context.beginDialog(DialogC, options)

DialogC
if (context.options == ‘FromDialogA’) {
// back to the parent dialog
return await context.replaceDialog(DialogA)
}
Другие вопросы по тегам