我必须在此实现中实现箭头函数,并且我需要将来自 AWS 的输入转换为自定义模型,以避免对每个 API 执行相同的逻辑。我想过使用装饰器来完成每个功能。由于编译器将其视为属性,因此它不会找到描述符属性并引发异常。是否有一种解决方法可以欺骗编译器将箭头函数识别为实际函数并传递描述符?
@API(EndpointType.POST)
public login = async (event: Input): Promise<APIGatewayProxyResult> => {
... logic
}
export function API(apiType:EndpointType): any {
return (target: any, propertyKey: string, descriptor?: TypedPropertyDescriptor<any>) => {
descriptor.value = function(request) {
... logic
const bindedOriginalFunction = originalFunction.bind(this)
const result = bindedOriginalFunction(finalResult);
return result
}
return descriptor;
}