2016-07-14 2 views
1

Ich bin nicht über die richtige Möglichkeit, auf die Entitäten in meiner zweiten Wasserfallfunktion zugreifen.wie Zugriff auf Entitäten in Wasserfallfunktionen

Ich habe diese Code-Struktur:

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

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

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

funcA die Entitäten und Absichten im ARG-Objekt durch den Rahmen geführt wird. Aber in funcB ist args auf ein Objekt gesetzt, das nur eine Eigenschaft namens revised enthält. Ich kann Entitäten explizit auf ein neues Objekt setzen und es wie folgt weitergeben ({e: entities}). Kann der Rahmen es tun und ich sehe einfach nicht wie?

Danke.

Antwort

0

So wie ich das Wasserfallmodell im Botbuilder verstehe, rufen Sie entweder die nächste Funktion im Wasserfall explizit mit next() auf oder die zweite Funktion ist eine Folge der ersten mit einem anderen Parametersatz.

Wenn Sie next() aufrufen, rufen Sie die Folgefunktion selbst ohne Daten auf. Um Daten zu übergeben, übergeben Sie Ihre Objekte wie gewohnt.

Denken Sie auch darüber nach: next (args);

Wenn Sie neuen Eingabeinhalt zu übergeben, bedenken Sie:

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); 
    }, 
    ... 
]); 

In diesem Fall ist die Aufforderung, die nächste Funktion mit den entsprechenden Parametern aufruft.

Verwandte Themen