Подробную информацию об ошибке можно получить на вкладке монитора в веб-консоли Lambda. Гость, вы получаете сообщение об ошибке типа response is undefined
в строке return response
.
С вашим кодом строка return response
будет выполняться сразу же после вызова функции, но response
не определена в lambdaHandler
сфера.
Я рекомендовал не смешивать синтаксис async/await
с синтаксисом Promise (.then .catch), просто используйте один из них, я предлагаю использовать синтаксис async/await
.
Функция Понравится:
exports.lambdaHandler = async (event, context) => {
try {
const axios = require('axios');
const cheerio = require('cheerio');
const response = await axios.get('https://www.kitco.com'); // wait until we get the response
const html = response.data;
const $ = cheerio.load(html);
const ask = $('#AU-ask').text();
const bid = $('#AU-bid').text();
const resbid = bid.slice(0, 7);
const resask = ask.slice(0, 7);
const result = {
"ask": resask,
"bid": resbid
}
return {
statusCode: 200,
body: JSON.stringify(result), // If you working with lambda-proxy-integrations, the `body` must be a string
}; // return to response the request
} catch (err) {
console.log(err);
return {
statusCode: 500, // Example, http status will be 500 when you got an exception
body: JSON.stringify({error: err}),
}
}
};