AWS Lambda JavaScript中未捕获的异常

问题描述

我正在尝试通过lambda引起Amazon LEX的意图,但是给我一个错误调用未捕获的异常。希望得到帮助,我的代码如下:

'use strict';

exports.handler = (event,context,callback) => {
  const sessionAttributes = event.sessionAttributes;
  const slots = event.currentIntent.slots;
  const intention = slots.Intention

  {
    let response = {
      sessionAttributes: event.sessionAttributes,dialogAction: {
        type: "ElicitIntent",message: {
          contentType: "PlainText",content: `Would you like to do A or B? `
        }

      }
    }
    callback(null,response);
  }
}

解决方法

未捕获的异常”错误通常表示未为特定类型的输入提供响应。就您而言,无法实现回调。

只需删除多余的花括号(我已将其注释掉):

'use strict';

exports.handler = (event,context,callback) => {
  const sessionAttributes = event.sessionAttributes;
  const slots = event.currentIntent.slots;
  const intention = slots.Intention

//}                                             <--remove this
    let response = {
      sessionAttributes: event.sessionAttributes,dialogAction: {
        type: "ElicitIntent",message: {
          contentType: "PlainText",content: `Would you like to do A or B? `
        }

      }
    }
    callback(null,response);
//}                                              <--and remove this
}