我正在使用Microsoft Bot Framework并尝试向用户发送多个响应,但不确定如何从nodejs执行此操作。我可以用C#做到这一点。
C#代码示例
var connector = new ConnectorClient();
connector.Messages.SendMessage(incomingMessage.CreateReplyMessage("Yo, I heard you 1.", "en"));
connector.Messages.SendMessage(incomingMessage.CreateReplyMessage("Yo, I heard you 2.", "en"));
connector.Messages.SendMessage(incomingMessage.CreateReplyMessage("Yo, I heard you 3.", "en"));
nodejs 会是什么?
我试图运行的nodejs代码示例:
var bot = new builder.TextBot();
bot.add('/', function (session) {
session.send('Hello World');
session.send('Hello World'); // won't work.
});
bot.listenStdin();
答案 0 :(得分:0)
查看此答案:send multiple responses to client via nodejs
您可能希望通过使用响应对象返回数组属性来模拟所需的多个响应(解决方案1 )。在这种情况下,如果您使用多个异步函数,使用此lib可能会有所帮助:https://github.com/caolan/async。
var messages = [];
messages.push('message 1');
messages.push('message 2');
// etc
response.send({all: messages});
但是,如果你不能这样,那么我会推荐解决方案3 ,因为它会让你的代码更清洁&最复杂的Web应用程序无论如何都使用websockets来使网站不需要刷新任何需要检索的新数据。
一个常用的websockets库是socketio:http://socket.io/get-started/chat/
我不会搞乱解决方案2 ,除非功能非常复杂并且需要来自客户端的确认。在这种情况下,您仍然可以使用解决方案3。