Вы можете установить значение global
следующим образом:
var global;
getUser().then(user => global = user);
function getUser() {
return Promise.resolve("User #1");
}
var global;
getUser().then(user => global = user);
console.log("1", global);
setTimeout(() => console.log("2", global), 500);
Однако имейте в виду, что другой синхронный код не знает, когда установлена переменная global
. Значение будет undefined
, пока не будет вызван обратный вызов. Лучшим вариантом может быть то, что вы уже делаете:
var global = getUser();
Таким образом, другой синхронный код может присоединить обратные вызовы, выполнив:
global.then(user => {
// ...
});
function getUser() {
return Promise.resolve("User #1");
}
var global = getUser();
global.then(user => console.log("1", user));
setTimeout(() => {
global.then(user => console.log("2", user));
}, 500);