当从另一个意图触发一个意图时,例如
'LaunchRequest': function () {
this.emit('MyCustomIntent')
}
传递给的请求对象MyCustomIntent
是
"request": {
type: 'LaunchRequest',
requestId: '...',
timestamp: '...',
locale: 'en-US'
}
请注意,没有意图或槽信息被传递给MyCustomIntent
.
但是,MyCustomIntent
Alexa 发送的每个请求都将包括
"request": {
"type": "IntentRequest",
...,
"intent": {
"name": "MyCustomIntent",
"slots": {
"MyCustomSlot": {
"name": "MyCustomSlot"
}
}
}
}
这在开发过程中造成了分裂。当尝试使用MyCustomSlot
within MyCustomIntent
, if intent
, intent.slots
, and each各自intent.slots.MyCustomSlot
不存在时,我将不得不使用一些默认值来让我的代码正常运行。
这意味着我现在有必要在我的交互模型和我的 Lambda 函数中维护我的意图模式。这听起来很混乱,并且在引入多个插槽和意图时可能很快就会失控。
我的问题
有什么方法可以将默认插槽值发送到发射器中,这样我就可以毫无疑问地知道,我总是可以保证在其中使用相同的基本请求对象MyCustomIntent
?