0
var bot = new builder.UniversalBot(connector, [
function (session, args, next) {
if (!session.userData.name) {
session.beginDialog('profile');
} else {
next();
}
},
function (session, results) {
session.send('Hello %s!', session.userData.name);
}]);bot.dialog('profile', [
function (session) {
builder.Prompts.text(session, 'Hi! What is your name?');
},
function (session, results) {
session.userData.name = results.response;
session.endDialog();
}]);
上述代码取自Microsoft bot框架文档。在这里,我无法理解session.endDialog()的用途。运行此代码后,它会询问用户名并获取输入并用“hello user input”回复。会发生什么事情呢,它一次又一次地循环着。 我想在获取用户名后启动qnamaker对话框,并且应该继续使用qnamaker,并且不应该回到要求用户名的第一个函数。如何结束对话框并启动另一个对话框?
我不明白你的问题。如果你想开始一个新的对话框,使用'session.beginDialog(“dialogName”)'。有关更多信息,请参见[理解对话框](https://docs.microsoft.com/zh-cn/bot-framework/nodejs/bot-builder-nodejs-dialog-overview)。 – nilsw