асинхронной функции в глобальную область видимости, для того чтобы я мог обратится к этому объекту после вызова функции, но не сразу через .then, а например вообще в другом модуле? и возможно ли это?
async function sendRequest() {
try {
let response = await fetch(API, RequestOptions);
let json = await response.json();
let globalJSON = json;
} catch (error) {
console.error('ошибка при запросе: ' + error);
};
};
let globalJSON = {}; async function sendRequest() { try { let response = await fetch(API, RequestOptions); let json = await response.json(); globalJSON = json; } catch (error) { console.error('ошибка при запросе: ' + error); }; };
изменил
а как мне теперь обратиться к globalJSON после того как sendRequest() будет вызван, ведь если просто к нему обратися он будет пустой потому что код синхронный
покажите код, что вы хотите сделать
let globalJSON = {}; async function sendRequest() { try { const response = await fetch('https://jsonplaceholder.typicode.com/todos/1'); globalJSON = await response.json(); } catch (error) { console.error('ошибка при запросе: ' + error); }; }; sendRequest(); console.log(globalJSON); // хочу получить объект тут
в глобальном скопе (видимости) нельзя использовать await, поэтому либо обернуть sendRequest в async функцию, либо переписать код: 1. вариант: (async () => { await sendRequest() console.log(globalJSON); })();
угу, я понял. видимо нет смысла тогда выносить ответ в отдельную переменную, потому что в отрыве от изначальной функции я похоже не могу использовать response
вы классы ещё не проходили?
Самый юзабельный вариант, если нужно обрабатывать ответ сервера, передавать его в колбек.
Обсуждают сегодня