Мне нужно загрузить изображение синхронно, то есть мне нужно приостановить выполнение JavaScript, пока изображение не загрузится. Поскольку image.onload является асинхронным, функция main возвращается до загрузки изображения.
Я использую холст, и если основная функция возвращается до загрузки изображения и, следовательно, отрисовывается, другие вещи на холсте будут нарисованы перед изображением. Это не работает, потому что порядок рисования на холсте очень важен!
Вот что я делал:
var img = new Image();
img.onload = function() {
//image drawing code here
}
img.src = "blahblahblah";
//function returns here, and other drawing code happens before image is drawn
Есть ли способ сделать это синхронно или дождаться полной загрузки изображения, прежде чем вернуться из функции?