代码之家  ›  专栏  ›  技术社区  ›  SandroM

无法访问其他函数上的会话状态数据

  •  0
  • SandroM  · 技术社区  · 6 年前

    我正在为我的bot创建一个不活动检查,如果自上次发送消息以来已经过了x分钟,它将向用户发送消息。

    bot.dialog('SomeDialog',
        function(session, args){
            let text = "The text sent to the user";
            session.send(text, session.message.text);
            check(session); //The function where I send the session to do the checking
            session.endDialog();
        }
    );
    

    check函数是出现问题的地方:

    check(session){
        if(!session.conversationData.talked){
            session.conversationData.talked = 1;
        }
    }
    

    当我运行它时,我总是

    Cannot read property 'conversationData' of undefined
    

    如果我使用 session.conversationData.talked bot.dialog 它起作用,但对 check 功能。

    我在这里做错什么了?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Gary Liu    6 年前

    您的代码片段在我这边工作得很好,也许您可以提供您的整个图片来进行进一步的分析。

    但是,根据您的要求,您可以考虑使用node包 botbuilder-timeout ,

        2
  •  0
  •   Richard Duerr    6 年前

    这可能是一个“异步”的定时问题。浏览器/服务器上的会话需要同步。

    这是js服务器端,还是浏览器端?这是为了什么框架?