Tela HTML5 - drawImage nem sempre desenhando a imagem

Eu estou desenhando na tela cada vez que um usuário pressiona um botão, no entanto, às vezes, a imagem não está sendo desenhada na tela. Eu acho que isso pode acontecer porque a imagem não é carregada antes da função context.drawimage ser executada, já que alguns dos arquivos menores às vezes são desenhados. Eu usei o console e verifiquei recursos e, portanto, este é o único problema que posso imaginar.

Como evito esse problema?

Este é o meu código Javascript.

var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");

var questionbg = new Image();
var answerbg = new Image();

//this code is inside a function that is called each time a user presses a button
if(questiontype == "text"){
    questionbg.src = "./resources/textquestionbg.png";
    context.drawImage(questionbg, 0, 0);
    }
//if image question
else if(questiontype == "image"){
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}
//if audio question
else if(questiontype == "audio"){
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}
//else it is a video question
else{
questionbg.src = "./resources/imageaudiovideoquestionbg.png";
context.drawImage(questionbg, 0, 0);
}

questionAnswers(1)

yourAnswerToTheQuestion