web-dev-qa-db-fra.com

Récupération synchrone par extraction de nœud Javascript

J'essaie d'utiliser node-fetch avec nodejs pour faire des appels api à mon api personnelle. Je voudrais pouvoir mettre à jour certaines valeurs de manière synchrone dans ce périodiquement à mesure que les choses se mettent à jour/changent avec ma base de données dans les coulisses. Je sais que l'async et l'attente existent, mais avec toute ma recherche sur Google, je ne les comprends toujours pas ou comment ils interagissent avec les demandes de récupération.

Ceci est un peu d'exemple de code que j'essaie de faire fonctionner, mais toujours juste les journaux non définis

const fetch = require('node-fetch');
const url = 'http://example.com';
let logs;

example();
console.log(logs);
async function example(){
    //Do things here
    logs = await retrieveLogs();
    //Do more things here
}

async function retrieveLogs(){
    await fetch(url)
    .then(res => res.json())
    .then(json => {return json})
    .catch(e => console.log(e))
}
6
Wallace Alley

Je pense que vous devez retourner le résultat de la fonction retrieveLogs comme ceci:

async function retrieveLogs(){
    return await fetch(url)
    .then(res => res.json())
}
6
Ali Torki