【发布时间】:2017-02-06 10:04:40
【问题描述】:
我正在调用一个处理用户输入消息的函数,然后在 microsoft bot 框架的 node.js SDK 中相应地发送响应。这是场景:当机器人收到用户的消息时,我正在调用一个函数processMessage,这需要一些时间来执行。 processedResult 是processMessage 执行后得到的结果。由于机器人过早响应,它正在发送一个未定义的值。如何确保在processMessage 执行完成之前不执行瀑布中的下一步?这是我的代码:
var connector = new builder.ConsoleConnector().listen();
var bot = new builder.UniversalBot(connector);
bot.dialog('/', [
function (session) {
console.log('step1')
processMessage(session.message.text);
},
function(session) {
console.log('step3')
session.send(processedResult);
}
]);
console.log('step2') 在processMessage 的定义中。日志的顺序是step1、step3、step2。
【问题讨论】:
-
processMessage是否接受回调? -
没有。但如果回调有帮助,我会添加它。如果有的话,请使用回调解释解决方案。
标签: javascript node.js botframework