Как структурировать внешние вызовы API для маршрутизации Node.js, express, e js? - PullRequest
0 голосов
/ 05 апреля 2020
//API Call one
function receiveLocation(){
    axios({
        "method":"GET",
        "url":"https://ip-geo-location.p.rapidapi.com/ip/check",

        ...

        })
        .then((response)=>{
        return response.data.country.name;
        })
        .catch((error)=>{
        console.log(error)
       })
}
//API Call two
//API Call three

console.log(receiveLocation());

app.get("/", function(req,res){
    var location = receiveLocation();//
    //Then render all the data from my API calls such as location, currency, 
    //etc. in my landing page. Also use that data on the backend.
    res.render("landing",{location:location});
});

В настоящее время я пытаюсь создать веб-сайт, который использует несколько вызовов API для получения такой информации, как местоположение, валюта и другие данные пользователя, который загружает веб-сайт.

Я пытаюсь получить вся информация от различных вызовов API как I go через маршрут запроса get, который позволяет пользователю видеть целевую страницу. Во-первых, я даже не уверен, разрешено ли это. Если это разрешено / стандартная практика, что я делаю не так в этом примере. Я пытаюсь вызвать функцию, которая в маршруте get получает страницу root, которая возвращает страну посещающего пользователя. Но после некоторой отладки console.log () я вижу, что эта информация никогда не поступает в маршрут get. Последнее замечание: я хочу использовать информацию из вызовов API как для изменения того, что видит пользователь, так и для некоторых вычислений, которые необходимо будет выполнить на бэкэнде.

Если это не разрешено / не является стандартной практикой, может кто-нибудь объяснить, что я должен вместо этого сделать / указать в правильном направлении, что я должен научиться, чтобы лучше понять, что я пытаюсь сделать

1 Ответ

0 голосов
/ 05 апреля 2020

То, что вы пытаетесь сделать в данный момент, не является стандартной практикой, вам следует поискать MVC для Express, там вы узнаете, как структурировать свой внутренний код, чтобы маршруты GET использовались в качестве представлений (эти будет ли ваш сервер получать некоторые публичные c файлы, такие как html, css, javascript, которым будет передаваться некоторая информация от контроллеров, это делается с помощью некоторых серверных рендеров, таких как E JS). Я рекомендую пройти этот курс Удеми https://www.udemy.com/course/nodejs-the-complete-guide/ для полного понимания, но если у вас нет времени, посмотрите node.js mvc с express, об этом есть много информации.

...