Javascript узел-выборка синхронная выборка - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь использовать node-fetch с nodejs, чтобы сделать вызовы API для моего личного API. Я хотел бы иметь возможность обновлять определенные значения синхронно в этом периодически, поскольку вещи обновляются / изменяются с моей базой данных за кулисами. Я знаю, что асинхронность и ожидание существуют, но, несмотря на все мои поиски, я до сих пор не совсем понимаю их или то, как они взаимодействуют с запросами на выборку.

Это пример кода, который я пытаюсь заставить работать, но все еще просто журналы не определены

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))
}

1 Ответ

0 голосов
/ 03 сентября 2018

Я думаю, вам нужно вернуть результат функции retrieveLogs следующим образом:

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