В массиве resolutionsPerAuthority
есть новый объект с именем dynamic
, с которым у меня мало проблем.
Потому что до моей проверки были как примеры.
for (const slotName in currentIntent.slots) {
const slot = currentIntent.slots[slotName];
if (slot.confirmationStatus !== 'CONFIRMED'
&& slot.resolutions
&& slot.resolutions.resolutionsPerAuthority[0]) {
if (slot.resolutions.resolutionsPerAuthority[0].status.code === 'ER_SUCCESS_NO_MATCH') {
return responseBuilder
.speak('I cant work with the ' + slot.name + ' slot. Please try again.')
.reprompt('Please say something for ' + slot.name)
.getResponse();
}
}
}
И это было несколько недель назад. Тогда пример массива выглядит так.
{
"name": "example",
"value": "Hello",
"resolutions": {
"resolutionsPerAuthority": [
{
"authority": "amzn1.er-authority.echo-sdk.amzn1.ask.skill.00000000-0000-0000-0000-000000000000.example",
"status": {
"code": "ER_SUCCESS_MATCH"
},
"values": [
{
"value": {
"name": "John",
"id": "john"
}
}
]
}
]
},
"confirmationStatus": "NONE",
"source": "USER"
}
И вот уже несколько дней этот массив resolutionsPerAuthority
был расширен этим.
{
"authority": "amzn1.er-authority.echo-sdk.dynamic.amzn1.ask.skill.00000000-0000-0000-0000-000000000000.example",
"status": {
"code": "ER_SUCCESS_NO_MATCH"
}
}
Небольшая разница в том, что после echo-sdk
есть .dynamic
.
И этот dynamic
один не соответствует.
И из-за моей логики иногда она терпит неудачу, а иногда нет. Зависит от того, является ли его первый элемент в массиве или нет.
Может кто-нибудь объяснить мне, почему у меня есть эти dynamic
с этого года или несколькими днями ранее?
Заранее спасибо.