0

我正在使用 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();
4

1 回答 1

0

查看此答案:通过 nodejs 向客户端发送多个响应

您可能希望通过返回带有响应对象的数组属性来模拟您想要的多个响应(解决方案 1 )。在这种情况下,如果您使用多个异步函数,使用此库可能会有所帮助: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。

于 2016-04-15T14:39:21.230 回答