我的Alex技能查阅API并根据请求返回一些数据,不同的数据。它是用node.js编写的。而且它工作了几年。
然后,它在第一次询问时停止响应。现在根本不跟我说话。可是该卡却忠实地出现在我的手机上,表明正在正常检索数据。
我刚刚记录了lambda返回的响应对象,对我来说看起来不错。在这里:
{
"version": "1.0",
"response": {
"outputSpeech": {
"type": "PlainText",
"text": "as of 06:34 unofficial range estimate is Between 82 and 131 miles"
},
"card": {
"type": "Standard",
"title": "Battery status for Leaf1malc",
"text": "As of:\t2020/03/23 06:34\nYou have 78.93% battery or 11 out of 12 bars\nGOM Estimate\t103 A/C on, or 109 A/C off\nCynical estimate\tBetween 82 and 131 miles\n\tThe car is not plugged in.",
"image": {
"largeImageUrl": "https://gb.nissanconnect.eu/Content/static/images/nissan/my-leaf.jpg"
}
},
"shouldEndSession": true
}
这一切在Lambda测试工具和Alexa技能开发控制台中均能按预期工作。
我刚刚将代码重构为使用 async 和 await 。希望以此来使回调链不再混乱,从而使调试更加容易。一旦我运行了它,它就回到了我最初的行为。
我已经用谷歌搜索,找不到其他人遇到这个问题。它在我的代码进行任何更改之前就出现了,尽管我不得不更新node.js版本,因为亚马逊抱怨Lambda使用的是不实用的版本。
当前的node.js版本是10。
请查看我的响应对象,看看我在做什么错。
ps。刚刚用SSML尝试过,仍然没有声音。