У меня есть функция
const integration = async (event) => {
const user = await authenticateUser({
email,
password,
})
const authentication = path(['idToken', 'jwtToken'], user)
return Promise.all(reduce(async (prevEvent, endpointId) => {
const endpointDesc = endpoints[endpointId]
let apiEvent = endpointDesc.actionEvent
apiEvent.authentication = authentication
if (endpointDesc.parameters.length > 0) {
apiEvent = reduce((eventAcc, param) => {
const prevPayload = eventAcc.payload
const newPayload = { prevPayload, [param]: prevEvent.body[param] }
return { ...apiEvent, payload: newPayload }
}, apiEvent, apiEvent.parameters)
}
const lambdaParams = {
FunctionName: apiFunctionArn,
Payload: apiEvent,
}
const lambdaRes = await lambda.invoke(lambdaParams).promise()
return lambdaRes
}, Promise.resolve(), event.endpointId))
}
ошибка из нее undefined is not a function
lambda.invoke
это фрагмент кода, вызывающий ошибки
lambda
объект приходитот const lambda = new AWS.Lambda()
(aws-sdk
)
lambda.invoke
, прежде чем строка с return Promise.all(reduce(async (prevEvent, endpointId) => {
заработает так, как должна работать
Я уже пробовал такие вещи, как lambda.invoke.bind (lambda)и т.д., но, если честно, в прошлый раз я полностью забыл объектно-ориентированный JavaScript: X
, если это имеет смысл, я использую reduce
из ramda
Спасибо заранее!