Да, у вас есть много способов сделать это, вы можете использовать Promises для архивирования этого, Promises позволяет запускать асинхронный код. В то время, когда вы запрашиваете у сервера изображение, которое у вас все еще не отображается, вам нужно время, вы можете сделать что-то вроде этого (я не знаю, что вы используете для доступа к серверу, но я даю вам пример с axios:
поскольку axios возвращает обещание по умолчанию
function reachServer() {
return axios.get('url');
}
function loadImage() {
Promise.resolve(reachServer())
.then((image) => {
//got the image
myImage = image;
})
.catch(() => {
// a error ocurred loading
})
}
Это простой пример того, как архивировать, у вас есть много других, вы можете использовать image.onload или async / await с ES6, я думаю, что Promises и async / await - лучшие варианты.
Надеюсь, это поможет