2017-07-07 32 views
0

如何在使用node.js的LUIS動作綁定的fulfill()函數內創建並顯示「HeroCard」?我下面由微軟提供的樣品(https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/blog-LUISActionBinding使用luis動作綁定顯示英雄卡

這裏是我如何試圖做到這一點...

fulfill: function (parameters, callback) { 
    utilities.FilterFunction(parameters.x, parameters.y).then(function (matches){ 

     utilities.CreateCard(session, matches).then(function(cards){ 

      var reply = new builder.Message(session) 
       .attachmentLayout(builder.AttachmentLayout.carousel) 
       .attachments(cards); 

      callback(util.format(reply)); 
     }); 

    }); 
} 

我怎樣才能在實現方法使用session值?...沒有會話「utilities.CreateCard」將不起作用...

+0

請提供一個[最小,完整和可驗證示例](https://stackoverflow.com/help/mcve) – FortyTwo

回答

0

由於session在動作的履行方法中不可用,我們只能撥打utilities.FilterFunction並通過callback返回結果。現在在我們的主要js文件fulfillReplyHandler中,我們得到actionModel,其中包含utilities.FilterFunction的結果。

現在我們可以使用fulfillReplyHandler中的「會話」創建「HeroCard」。