Node.js 如何在实现代码中指定名称参数?

Node.js 如何在实现代码中指定名称参数?,node.js,dialogflow-es,actions-on-google,dialogflow-es-fulfillment,Node.js,Dialogflow Es,Actions On Google,Dialogflow Es Fulfillment,我在Dialogflow web界面中创建了一个意图。它自动检测到一个名为给定名称的参数,该参数在web界面中将其列为$given name。我试图在web界面提供的实现内联编辑器中解决$given name,但没有任何成功 我尝试过将参数名更改为camel大小写,或者使用下划线替换连字符,但两种方法都不起作用 以下是dialogflow实现内联编辑器中的代码片段: 'use strict'; // Import the Dialogflow module from the Actions o

我在Dialogflow web界面中创建了一个意图。它自动检测到一个名为给定名称的参数,该参数在web界面中将其列为
$given name
。我试图在web界面提供的实现内联编辑器中解决
$given name
,但没有任何成功

我尝试过将参数名更改为camel大小写,或者使用下划线替换连字符,但两种方法都不起作用

以下是dialogflow实现内联编辑器中的代码片段:

'use strict';

// Import the Dialogflow module from the Actions on Google client library.
const {dialogflow} = require('actions-on-google');

// Import the firebase-functions package for deployment.
const functions = require('firebase-functions');

// Instantiate the Dialogflow client.
const app = dialogflow({debug: true});

// Can't address given-name, intentionally used an underscore 
app.intent('run demo', (conv, {given_name}) => {
conv.close('Hi ' + given_name +'! This is the demo you asked me to run!');
});

// Set the DialogflowApp object to handle the HTTPS POST request.
exports.dialogflowFirebaseFulfillment = functions.https.onRequest(app);
我想知道在代码部分
app.intent('run demo',(conv…);

解决方案中处理给定名称参数的正确方法 我发现的一个解决方案是这段代码:

app.intent('run demo', (conv, params) => {
    conv.close('Hi ' + params['given-name'] +'! This is the demo you asked me to run!');
});
解释
app.intent('run demo',…
(conv,params)=>{…}
实际上是一个匿名回调函数(又称匿名回调函数)
conv
params
是传入回调函数的参数/参数。函数的定义似乎位于API的此页:。它统计可以传入的参数/参数可以是
conv
params
参数
状态

最后的想法 谷歌操作的API文档有助于:

解决方案 我发现的一个解决方案是这段代码:

app.intent('run demo', (conv, params) => {
    conv.close('Hi ' + params['given-name'] +'! This is the demo you asked me to run!');
});
解释
app.intent('run demo',…
(conv,params)=>{…}
实际上是一个匿名回调函数(又称匿名回调函数)
conv
params
是传入回调函数的参数/参数。函数的定义似乎位于API的此页:。它统计可以传入的参数/参数可以是
conv
params
参数
状态

最后的想法
谷歌操作的API文档有帮助:

我想我找到了在线文档:。如果有人能确认这是一个正确的页面,我将不胜感激。我想我找到了在线文档:。如果有人能确认这是一个正确的页面,我将不胜感激。这是一个棘手的问题。我发现一些代码对param进行了分解,并给它起了一个类似于
{'unit-weight':unitWeight}
的名字,但实际上我找到的最好的文档是在测试模拟器中运行它并查看调试选项卡。在那里我发现我需要的是
params['unit-weight'].amount
。这是一个棘手的问题。我发现一些代码对参数进行了分解,并给它起了一个类似于
{'unit-weight':unitWeight}
的名字,但实际上我找到的最好的文档是在测试模拟器中运行它并查看调试选项卡。在那里,我发现我需要的是
params['unit-weight'].amount