Возвращает промисиз. Просто значения нет. Как я понмаю он сначала в состоянии пендинг потом переходит в реджект или бросает исключение. Почему эвейт не срабатывает - взрыв мозга....
В этом случае нужно вернуть промис самому, и связать его с запросом. Возвратный промис должен резолвиться на on('close'...
Сейчас там просто вызвалась асинхронная функция которая побежала в ивент луп, и imageDownloader вышел