Я вижу разные примеры определений скелетных функций в handler.js, когда играю с Serverless Framework . В handler.js
- Версия 1:
module.exports.handler = async (event, context) => {...}
; - Версия 2:
module.exports.store = async event => {...}
- Версия 3:
module.exports.store = (event, context, callback) => {...}
Версия 1 и Версия 2 похожи в том, что они оба определены как асинхронные функции, и единственное различие заключается в количестве параметров, но почему Версия 2 может полностью игнорировать контекст? Я предполагаю, что API-шлюз все равно передаст параметр контекста лямбда-функции, как лямбда-функция не может определить аргумент? (не приведет ли это к ошибке времени выполнения во время лямбда-вызова?)
Версия 3 определена в совершенно другой парадигме, т. е. не в асинхронной функции, и я думаю, что это скелетная функция, сгенерированная более старой версией. Безсерверный фреймворк.
Может кто-нибудь дать мне какое-нибудь руководство здесь?