如何访问瀑布函数中的实体

时间:2016-07-14 14:06:44

标签: botframework

我不是在第二个瀑布函数中访问实体的正确方法。

我有这个代码结构:

dialog.on('myintent', [funcA, funcB, funcC]);

function funcA(session, args, next)
{
   :
   :
   next()

function funcB(session, args, next)
{
  :
  :
  next()

funcA由框架传递arg对象中的实体和意图。但是在funcB中,args被设置为只包含名为resumed的属性的对象。我可以在新对象上明确设置实体并像下一个那样传递它({e:entities})。框架可以做到吗,我只是不知道怎么做?

感谢。

1 个答案:

答案 0 :(得分:0)

我在botbuilder中理解瀑布模型的方式,您要么使用next()显式调用瀑布中的下一个函数,要么第二个函数是使用不同参数集的第一个函数的后续跟踪。

当您调用next()时,您实际上是在没有任何数据的情况下自行调用跟进功能。交换数据只是像你一样移交你的对象。

另外,请考虑一下:next(args);

如果您想移交新的输入内容,请考虑以下事项:

bot.dialog('/', [
    function (session, args, next) {
        builder.Prompts.text(session, 'Hi! What is your name?');
    },
    function (session, results, next) {
        session.send('Hello %s!', results.response);
    },
    ...
]);

在这种情况下,提示符使用相应的参数调用下一个函数。