我在这里查看nodejs代码 https://github.com/Microsoft/BotBuilder/blob/master/Node/examples/basics-waterfall/app.js
我正在尝试理解这段代码
var bot = new builder.UniversalBot(connector, [
function (session) {
...
},
function (session, results) {
...
},
function (session, results) {
...
},
function (session, results) {
...
}
]);
我理解 var bot是一个函数表达式,它接受两个参数,一个是连接符,另一个是函数数组。
这些函数数组是按照它们的定义顺序执行的吗?
从其他编程背景来看,我不熟悉这种方言。
如何使这个程序更像C#as async等待答案?
如果async await是答案,我如何将其转换为使用async / await范例?
答案 0 :(得分:0)
是的,似乎他们按照定义的顺序执行。
你应该只提供该数组中的函数体,实际执行发生在bot实现的某个地方,所以你必须在那里寻找更清晰的图像。
但从这个例子和常识来看,很明显它们是按顺序执行的。它是一个机器人,按照定义的顺序回答问题。
我不确定你在这个上下文中对“async”的理解是什么,但是如果你想让它回答任意请求,你可以看看其他例子,比如 basics-logging 。