Я создал функцию очистки веб-страниц с помощью cheerio. js, которую я хочу вызывать, когда пользователь открывает домашнюю страницу. Я заставил его работать с одной функцией, но на самом деле у меня есть 3 функции очистки, которые делают несколько разные вещи. Как мне добавить эти функции в мой вызов маршрута на домашнюю страницу вместе с первым вызовом функции? (в основном я хочу, чтобы все данные были очищены при открытии пользователем домашней страницы)
Я также не очень хорошо знаком с async / await или обещаниями и заставил этот код работать, следуя примерам в Интернете, поэтому, если что-то не так, дайте мне знать!
express вызов маршрута, который работает (index.js
):
const getSUPResults = require("./routes/SUPstores");
app.use(getSUPResults);
app.get("/", async function(req, res, next){
const result = await getSUPResults();
res.render("index", result);
});
функция скребка ("./routes/SUPstores"
)
const express = require("express");
const cheerio = require("cheerio");
const { default: Axios } = require("axios");
const fetchData = async () => {
const result = await Axios.get("http://example.com");
return cheerio.load(result.data);
};
const getSUPResults = async () => {
const $ = await fetchData();
const SUPStoreInfo = [];
$('.row > tbody > tr:contains("SUP")').each(function(i, element){
const SUPResult = {
"environment" : $(this).children().text(),
"store" : $(this).children().next().text(),
"version" : $(this).children().next().next().text()
};
SUPStoreInfo.push(SUPResult);
});
return SUPStoreInfo;
}
module.exports = getSUPResults;
Я попытался сделать что-то подобное, но мне показалось, что это вызвало только первую функцию (getSUPResults), а остальные проигнорировали. Могу ли я попробовать что-то подобное?
const getSUPResults = require("./routes/SUPstores");
const getQAResults = require("./routes/QAstores");
const getDEVResults = require("./routesDEVstores");
app.use(getSUPResults);
app.use(getQAResults);
app.use(getDEVResults);
app.get("/", async function(req, res, next){
const SUP = await getSUPResults();
const QA = await getQAResults();
const DEV = await getDEVResults();
const result = [SUP, QA, DEV];
res.render("index", result);
});