"Последовательно" тоже можно
// Это вспомогательная функция
// запускающая переданную в неё функцию
function $(generatorFunction) {
var iterator = generatorFunction(next);
iterator.next();
function next(value) {
iterator.next(value);
}
}
$(async function*(next) {
var bgimg = new Image();
bgimg.src = "https://placeimg.com/640/480/any";
yield bgimg.onload = next;
alert(bgimg.naturalWidth + '×' + bgimg.naturalHeight);
});