发生错误:无效的Lambda响应:收到来自Lambda的空响应

时间:2019-02-25 08:34:54

标签: node.js callback chatbot amazon-lex

我正在尝试使用Node.js构建一个Lex机器人来发送披萨。 我有2个意图1)客户数据2)披萨订单。

因此,当前,如果我只想从用户那里获取客户数据并将响应发送给Bot,我的代码就可以正常工作,我正试图将数据保存到DB(Dynamo DB)并将数据显示给用户。 **,这是我收到上述错误的时间。 请查看以下代码:

function custData(intentRequest,callback){

       const sessionAttributes = intentRequest.sessionAttributes;
         const slots = intentRequest.currentIntent.slots;
         const name = slots.Name;
         const phone = slots.Phone;
         const address = slots.Address;

        callback(checkDB(name,phone,address), close(sessionAttributes,'Fulfilled',
              {'contentType': 'PlainText', 'content': 'Thank you, How can I help you today'}));

 }

1)如果我仅调用CheckDB函数(即checkDB(名称,电话,地址)),则数据库将通过用户输入进行更新,并且在Lex测试机器人控制台中会出现上述错误。

2)如果仅调用Close i.e(elicit_close)函数,则会在Bot控制台中显示我传递的消息。

3)如果同时调用两个函数(类似于上面共享的代码),则会在Bot控制台中收到上述错误,并且使用用户提交的值更新数据库,在这种情况下,采用的最后一个插槽值为null在Bot控制台中,但已正确保存在数据库中。

我搜索了类似的错误,但是该解决方案没有帮助,因为仅当我在回调中提到checkDB或通过回调调用这两个函数时,我才收到错误。如果不是,那么一切都完美。

0 个答案:

没有答案