Я сейчас использую context.succeed (response_ JSON); Этот мне подходит. Даже если эта инструкция находится внутри вложенной функции. Вся лямбда завершается и возвращает response_ JSON в Smart Home Alexa.
context.succeed()/fail()
вызывает немедленное завершение функции лямбда. Однако я не видел, чтобы это было задокументировано в документации по объектам context , поэтому в более поздних версиях Node он может стать устаревшим (?).
Я видел в других блогах, которые говорят обратный вызов (response_error, response_ JSON). Этот у меня не сработал. Он ничего не вернул в Умный дом.
Этот, вероятно, не сработает для вас, потому что по умолчанию Node.js ожидает, пока событие l oop не станет пустым, перед выполнением callback
заявление. Это может быть связано с открытым подключением к сети / базе данных. Согласно do c, установите для переменной context.callbackWaitsForEmptyEventLoop
значение false, чтобы сразу отправить ответ.
Другие просто используют return response_ JSON. Я не использовал его.
Его следует использовать с обработчиками asyn c. Подробнее об асинхронных c и неасинхронных c обработчиках здесь: https://docs.aws.amazon.com/lambda/latest/dg/nodejs-handler.html